在Python中使用时间、日期和时间戳的代码

2022-05-03 00:00:00 日期 代码 时间

这篇文章介绍了python中与date、datetime、timestamp等相关的时间函数和类
````python

今天的时间

---------------------------

使用 datetime.date.today()

datetime.date类有以下整数属性,date(年、月、日)

使用date.weekday()获得星期几 # 星期一是0

from datetime import date
todays_date = date.today()
print(todays_date)
print(todays_date.month, todays_date.day, todays_date.year)
print(todays_date.weekday())

ISO格式是一种字符串格式,yyyy-mm-dd

---------------------------

date_object.isoformat()与str(date_object)的作用相同

from datetime import date
todays_date = date.fromisoformat('2011-11-23')
print(todays_date)
print(str(todays_date))
print(todays_date.isoformat())

todays_date

日期的比较、加法和减法

---------------------------

比较的结果是布尔值。后面的日期比前面的日期大。

日期的加法和减法给出的结果是datetime.timedelta对象(下面有更多解释)。

同样的比较和加/减操作也可以用于时间对象。

from datetime import date
todays_date = date.today()
d2 = date(2015, 5, 14)
print(todays_date > d2)
print(todays_date - d2)

Time

---------------------------

时间对象有以下属性,time(hour, minute, second, microsecond, tzinfo)

使用datetime.time来比较时间对象:t1 < t2 如果t1发生在t2之前

所有的属性都是可选的,所以如果你想,你可以只用小时和分钟来工作

夏令时由time.dst()函数处理(如果tzinfo被设置)。

from datetime import time
t1 = time(14, 25, 36, 18625)
print(t1)
t2 = time(2, 19)
print(t2)
print(t1 < t2)

datetime.datetime将日期和时间属性合并为一个datetime对象

---------------------------

datetime.datetime(年,月,日,小时,分钟,秒,微秒,tzinfo)

datetime.datetime对象可以作为字典的键值使用

包括函数:date(), time()

from datetime import datetime
dt1 = datetime(1941, 12, 7, 7, 53)
print(dt1)
print(dt1.date())
print(dt1.time())

使用 datetime.datetime.now() 获取当前日期和时间

t3 = datetime.now()
print(t3.time())
print(t3.date())
print(t3.hour, t3.minute)
print(str(t3.month) + '-' + str(t3.day) + '-' + str(t3.year))

使用datetime.strftime()来获取月份和工作日的名称。

t3 = datetime.now()
print(t3.strftime('%A'))
print(t3.strftime('%a, %A, %b, %B, %x'))

Timedelta用于表示持续时间,或两个日期或时间之间的时间差。

---------------------------

datetime.timedelta(day, seconds, microseconds)

一个timedelta也可以乘以或除以一个整数或浮点数

from datetime import timedelta, date, time
todays_date = date(2011, 6, 15)
d2 = date(2012, 9, 18)
td = d2 - todays_date
print(td, type(td))
print(td.total_seconds())
print(td * 3)
from datetime import datetime
today = datetime.today().date()
my_event = date(2021, 11, 6)
days_to_event = abs(my_event - today)
print(days_to_event.days, 'days to event.')
print(days_to_event, 'days to event.')

获得一个UNIX时间戳(自纪元以来的时间)。

---------------------------

一个时间戳是自1970年1月1日以来的时间,单位是秒。

使用time.time()来获取时间戳

使用datetime.fromtimestamp(ts)和datetime.timestamp(datetime_obj)来转换时间戳和日期时间。

使用time.process_time()来获取计算机上的操作的运行时间

import time
ts = time.time()
print(ts)
print(time.ctime(ts))
from datetime import datetime
now = datetime.fromtimestamp(ts)
print(now)
print(datetime.timestamp(now))
start_time = time.process_time()

做一些事情

end_time = time.process_time()
print('operation executed in ', end_time - start_time)
```

相关文章