微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python日期时间函数

所有日期、时间的api都在datetime模块内。

 

简单示例如下:

##  %Y年,%m月,%d日,%H时,%M分,%s秒,%f毫秒
import datetime
print(datetime.datetime.Now())  # 2022-01-28 11:09:01.529864
print(datetime.datetime.Now().strftime('%Y-%m-%d %H:%M:%s.%f'))  # 2022-01-28 11:09:01.529864
print(datetime.datetime.Now().strftime('%Y%m%d%H%M%s%f'))  # 20220128110901529864

 

 

1. 日期输出格式化 datetime => string

import datetime

Now = datetime.datetime.Now()

print( Now.strftime('%Y-%m-%d %H:%M:%s')  )

输出

'2022-04-07 19:11:21'

strftime是datetime类的实例方法

 

2. 日期输出格式化 string => datetime

import datetime

t_str = '2022-04-07 19:11:21'

d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%s')

strptime是datetime类的静态方法

 

3. 日期比较操作

在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

构造方法

import datetime

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)  

所有的参数都有认值0,这些参数可以是int或float,正的或负的。

可以通过 timedelta.days、tiemdelta.seconds 等获取相应的时间值。

timedelta 类的实例,支持加、减、乘、除等操作,所得的结果也是 timedelta 类的实例。比如:

import datetime

year = datetime.timedelta(days=365)

ten_years = year *10

nine_years = ten_years - year  

同时,date、time和datetime类也支持timedelta的加、减运算。

datetime1 = datetime2 + timedelta

timedelta = datetime1 - datetime2

这样,可以很方便的实现一些功能

 

4. 两个日期相差多少天。

import datetime

d1 = datetime.datetime.strptime('2022-03-05 17:41:20', '%Y-%m-%d %H:%M:%s')

d2 = datetime.datetime.strptime('2022-03-02 17:41:20', '%Y-%m-%d %H:%M:%s')

delta = d1 - d2

print( delta.days  )

输出:3

 

5. 今天的n天后的日期。

import datetime

Now = datetime.datetime.Now()

delta = datetime.timedelta(days=3)

n_days = Now + delta

print( n_days.strftime('%Y-%m-%d %H:%M:%s')  )

输出

2022-04-10 19:16:34

 

#coding=utf-8

import datetime

Now=datetime.datetime.Now()

print( Now)

 

#将日期转化为字符串

datetime => string

import datetime

Now=datetime.datetime.Now()

print( Now.strftime('%Y-%m-%d %H:%M:%s'))

 

#将字符串转换为日期 string => datetime

import datetime

t_str = '2022-03-05 16:26:23'

d=datetime.datetime.strptime(t_str,'%Y-%m-%d %H:%M:%s')

print( d)

#在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日#期或者时间的差别。

 

#计算两个日期的间隔

import datetime

d1 = datetime.datetime.strptime('2022-03-05 17:41:20', '%Y-%m-%d %H:%M:%s')

d2 = datetime.datetime.strptime('2022-03-02 17:41:20', '%Y-%m-%d %H:%M:%s')

delta = d1 - d2

print( delta.days print delta )

 

#今天的n天后的日期

import datetime

Now=datetime.datetime.Now()

delta=datetime.timedelta(days=3)

n_days=Now+delta

print( n_days.strftime('%Y-%m-%d %H:%M:%s') )

datetime的好处是可以实现方便的时间运算,比如 endTime - starTime,这在时间duration计算时非常方便.

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐