DAY6-step6 Python DateTime, TimeDelta, Strftime(Format)
off999 2024-10-07 12:16 33 浏览 0 评论
在Python中,日期,时间和日期时间类提供了许多函数来处理日期,时间和时间间隔。 日期和日期时间是Python中的对象,因此在操作它们时,实际上是在操作对象,而不是字符串或时间戳。 每当您操纵日期或时间时,都需要导入datetime函数。
Python中的datetime类分为5个主要类。
- date –调整日期(月,日,年)
- time –与时间无关的时间(小时,分钟,秒,微秒)
- datetime –时间和日期的组合(月,日,年,小时,秒,微秒)
- timedelta-用于操纵日期的时间长度
- tzinfo-处理时区的抽象类
如何使用Date和DateTime类
步骤1)在运行日期时间代码之前,重要的是导入日期时间模块,如下面的屏幕快照所示。
这些import语句是Python库中预定义的函数,可让您无需编写任何代码即可操纵日期和时间。
在执行日期时间代码之前,请考虑以下几点
from datetime import date此行告诉Python解释器,从datetime模块导入date类我们不会为此日期函数编写代码,而只是将其导入供我们使用
步骤2)接下来,我们创建日期对象的实例。
步骤3)接下来,我们打印日期并运行代码。
输出是预期的。
使用date.today()打印日期
date.today函数具有与其关联的多个属性。 我们可以打印单独的日/月/年以及其他内容
让我们看一个例子
今天的星期几Weekday
date.today()函数还会为您提供星期几Weekday 。 这是星期几Weekday 表,其星期一从0开始,星期日从6开始
Weekday Number对于其索引取决于星期几的阵列很有用。
Python当前日期和时间:now()today()
步骤1)与日期对象一样,我们也可以在Python中使用“ DATETIME OBJECTS”。 它以小时,分钟,秒和毫秒为单位给出日期以及时间。
当我们为datetime执行代码时,它将为输出提供当前日期和时间。
步骤2)使用“ DATETIME OBJECT”,您还可以调用时间类别。
假设我们只想打印当前时间而不显示日期。
t = datetime.time(datetime.now())- 我们已经导入了时间课程。 我们将使用datetime.now()为其分配时间的当前值。
- 我们正在将当前时间的值分配给变量t。
这会给我时间。 因此,让我们运行该程序。
好的,所以您可以看到这里有日期和时间。 然后下一行,我只有时间了
步骤3)我们将工作日索引器应用到工作日的arrayList中,以了解今天是星期几
根据当前工作日的不同,为工作日操作员(wd)分配(0-6)号中的数字。 在这里,我们声明了几天的列表数组(星期一,星期二,星期三…星期日)。
使用该索引值可以知道是哪一天。 在我们的例子中,它是#2,代表星期三,因此在输出中将输出“哪个星期三”。
这是现在使用datetime获取当前日期和时间的完整代码
from datetime import date
from datetime import time
from datetime import datetime
def main():
##DATETIME OBJECTS
#Get today's date from datetime class
today=datetime.now()
#print (today)
# Get the current time
#t = datetime.time(datetime.now())
#print "The current time is", t
#weekday returns 0 (monday) through 6 (sunday)
wd=date.weekday(today)
#Days start at 0 for monday
days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
print("Today is day number %d" % wd)
print("which is a " + days[wd])
if __name__== "__main__":
main()如何使用Strftime()格式化日期和时间输出
到目前为止,我们已经了解了如何在Python中使用datetime和date对象。 我们将进一步前进,并学习如何使用格式化函数来格式化时间和日期。
步骤1)首先,我们将看到一个简单的年份格式设置步骤。 最好通过一个例子来理解。
- 我们使用“ strftime函数”进行格式化。
- 此函数使用不同的控制代码来提供输出。
- 每个控制代码都类似于不同的参数,例如年,月,周日和日期[(%y /%Y –年),(%a /%A-工作日),(%b /%B-月),(%d-天 的月份)]。
- 在我们的例子中,是(“%Y”)类似于年份,它打印出带有世纪的全年(例如,2018年)。
步骤2)现在,如果将(“%Y”)用小写字母替换,即(“%y)并执行代码,则输出将仅显示(18),而不显示(2018)。 显示在下面的屏幕截图中
步骤3)Strf函数可以分别声明日期,日,月和年。 同样,在strftime函数中对控制代码进行小的更改后,您也可以设置文本样式的格式。
在strftime函数中,如果将(%a)替换为大写字母A,即(%A),则输出将显示为“ Firday”(星期五),而不仅仅是缩写“ Fri”。
步骤4)借助“ Strftime”函数,我们还可以检索本地系统时间,日期或两者。
- %C-表示本地日期和时间
- %x-表示本地日期
- %X-表示本地时间
在输出中,您可以看到预期的结果
步骤5)“ strftime函数”允许您以24小时或12小时的任何格式调用时间。
只需定义控制代码(例如%I / H表示小时,%M表示分钟,%S表示秒),就可以调用不同格式的时间
声明了12小时的时间[print now.strftime(“%I:%M:%S%P)]
声明了24小时为时间[print now.strftime(“%H:%M”)]
这是将datetime转换为String对象的完整代码。
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
#Times and dates can be formatted using a set of predefined string
#Control codes
now= datetime.now() #get the current date and time
#%c - local date and time, %x-local's date, %X- local's time
print(now.strftime("%c"))
print(now.strftime("%x"))
print(now.strftime("%X"))
##### Time Formatting ####
#%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
print(now.strftime("%H:%M")) # 24-Hour:Minute
if __name__== "__main__":
main()如何使用Timedelta对象
使用timedelta对象,您可以估算未来和过去的时间。 换句话说,预测任何特殊的日期,日期或时间都是一个时间跨度。
请记住,此函数不是用于打印时间或日期,而是用于计算将来或过去的内容。 让我们看一个例子,以更好地理解它。
步骤1)要运行Timedelta对象,您需要先声明import语句,然后执行代码
为timedelta编写导入语句
现在编写代码以从时间增量中打印出对象,如屏幕截图所示
运行代码。 timedelta代表365天,8小时15分钟的跨度,并且打印相同
步骤2)让我们获取今天的日期和时间,以检查我们的导入语句是否运行良好。 执行代码后,它会打印出今天的日期,这意味着我们的导入语句运行良好
步骤3)我们将看到如何通过增量对象检索一年之后的日期。 当我们运行代码时,它将给出预期的输出。
步骤4)如何使用时间增量从当前日期和时间计算未来日期的另一个示例
步骤5)让我们看一个更复杂的例子。 我想确定新年过后的几天。 这是我们将如何进行
使用today = date.today()我们将获得今天的日期
我们知道新年总是1月1日,但是年份可能会有所不同。 使用nyd = date(today.year,1,1),我们将新年度存储在变量nyd中
如果nyd <today:比较当前日期是否大于新年。 如果是,则进入while循环
((today-nyd).days)给出当前日期和新年之间的差异(以DAYS为单位)
输出显示“元旦已经过去了11天”。
这是完整的工作代码
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta
# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today() # get todays date
nyd = date(today.year, 1, 1) # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
print ("New Year day is already went by %d days ago" % ((today - nyd).days))Python 2 Example
from datetime import date
from datetime import time
from datetime import datetime
def main():
##DATETIME OBJECTS
#Get today's date from datetime class
today=datetime.now()
#print today
# Get the current time
#t = datetime.time(datetime.now())
#print "The current time is", t
#weekday returns 0 (monday) through 6 (sunday)
wd = date.weekday(today)
#Days start at 0 for monday
days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
print "Today is day number %d" % wd
print "which is a " + days[wd]
if __name__== "__main__":
main()#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
#Times and dates can be formatted using a set of predefined string
#Control codes
now= datetime.now() #get the current date and time
#%c - local date and time, %x-local's date, %X- local's time
print now.strftime("%c")
print now.strftime("%x")
print now.strftime("%X")
##### Time Formatting ####
#%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
print now.strftime("%H:%M") # 24-Hour:Minute
if __name__== "__main__":
main()#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta
# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today() # get todays date
nyd = date(today.year, 1, 1) # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
print "New Year day is already went by %d days ago" % ((today - nyd).days)摘要
为了以简单和复杂的方式处理日期和时间,datetime模块提供了不同的类或类别,例如
- 日期–调整日期(月,日,年)
- 时间–与时间无关的时间(小时,分钟,秒,微秒)
- datetime –时间和日期的组合(月,日,年,小时,秒,微秒)
- timedelta-用于操纵日期的时间长度
- tzinfo-处理时区的抽象类
使用日期时间对象
- 在执行代码之前必须导入datetime对象
- 使用date.today函数打印单个日期/月份/年份以及索引日期
- 使用date.time对象获取小时,分钟,秒和毫秒的时间
使用“ str f时间函数”格式化超时
- 使用“ str f时间函数”更改年份的格式
- 分别打印日期,日期,月份和年份,
- 任何格式的呼出时间12小时或24小时
Timedelta对象
- 使用timedelta对象,您可以估算未来和过去的时间
- 计算从当前时间到特殊日期(生日)剩余的总天数
- 计算从当前时间到特殊日期(生日)的总天数
相关推荐
- 阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?
-
TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...
- 高流量大并发Linux TCP性能调优_linux 高并发网络编程
-
其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...
- 性能测试100集(12)性能指标资源使用率
-
在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...
- Linux 服务器常见的性能调优_linux高性能服务端编程
-
一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...
- Nginx性能优化实战:手把手教你提升10倍性能!
-
关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...
- 高并发场景下,Spring Cloud Gateway如何抗住百万QPS?
-
关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...
- Kubernetes 高并发处理实战(可落地案例 + 源码)
-
目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...
- 高并发场景下,Nginx如何扛住千万级请求?
-
Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...
- Spring Boot+Vue全栈开发实战,中文版高清PDF资源
-
SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...
- Docker-基础操作_docker基础实战教程二
-
一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...
- 你有空吗?跟我一起搭个服务器好不好?
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...
- 部署你自己的 SaaS_saas如何部署
-
部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...
- Docker Compose_dockercompose安装
-
DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...
- 京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统
-
前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...
- Kubernetes (k8s) 入门学习指南_k8s kubeproxy
-
Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...
欢迎 你 发表评论:
- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
