python_datetime和time基本用法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43193386/article/details/101111063

python_datetime和time基本用法

datetime模块:

获取当前日期:
import datetime
today = datetime.date.today()
print(today) # 当前日期
print(today.year) # 年份
print(today.month) # 月份
print(today.day) # 日期

result:

2019-09-21 
2019
9
21

two:

today = datetime.datetime.now()
print(today) # 当前日期
print(today.year) # 年
print(today.month) # 月
print(today.day) # 日
print(today.hour) # 时
print(today.minute) # 分
print(today.second) # 秒
print(today.microsecond) # 微妙

result:

2019-09-21 17:01:37.410231
2019
9
21
17
1
37
410231

获取当前时间,并且对时间进行计算
# 获得明天的日期
tomorrow = datetime.date.today() + datetime.timedelta(days=1) # 获取前一天 days就为-1
print(tomorrow)

result:

2019-09-22
# 获得一个小时之后的时间
hour=datetime.datetime.today() + datetime.timedelta(hours=1)
print(hour)

result:

2019-09-21 18:08:13.556634
# 时间相减,相加同理
now = datetime.timedelta(days=0, hours=0, minutes=3, seconds=50);
pre = datetime.timedelta(days=0, hours=0, minutes=1, seconds=10);

duration_sec = (now - pre).seconds
duration_day = (now - pre).days
print(type(duration_sec))
print(type(now - pre))
print(duration_sec)
print(duration_day)

result:

<class 'int'>
<class 'datetime.timedelta'>
160
0

time模块:

获取当前的时间戳
import time
# 取得当前时间戳
print(time.time())

result:

1569057181.2028244
时间戳转时间对象
# 时间戳转时间对象:
print(time.localtime(time.time()))
print(datetime.datetime.fromtimestamp(time.time()))

result:

time.struct_time(tm_year=2019, tm_mon=9, tm_mday=21, tm_hour=17, tm_min=15, tm_sec=46, tm_wday=5, tm_yday=264, tm_isdst=0)

2019-09-21 17:15:46.831484

使用strftime改变时间对象输出格式

对于datetime时间对象
# 格式化当前日期
_datetime = datetime.datetime.now().strftime('%Y-%m-%d')
print(_datetime)
print(type(_datetime))

result:

2019-09-21
<class 'str'>
对于time时间对象
# 格式化当前日期
_time_h = time.strftime("%H:%M:%S")
_time_i = time.strftime("%I:%M:%S")
print(_time_h) ##24小时格式
print(_time_i) ##12小时格式

result:

17:20:53
05:20:53
# 格式化当前日期
print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
2019-09-21 17:21:46
2019-09-21 17:21:46

strftime格式参数

%a 星期几的简写
%A 星期几的全称
%b 月分的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%U 第年的第几周,把星期日做为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
字符串和datetime的转换
# 字符串转datetime
string = '2018-10-29 11:59:58'
datetime_datetime = datetime.datetime.strptime(string,'%Y-%m-%d %H:%M:%S')
print(datetime_datetime)
print(type(datetime_datetime))
# datetime转字符串
datetime_str = datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d %H:%M:%S')
print(datetime_str)
print(type(datetime_str))

result:

2018-10-29 11:59:58
<class 'datetime.datetime'>
2019-09-21 17:27:26
<class 'str'>

参考文献:https://blog.csdn.net/johinieli/article/details/83506202

猜你喜欢

转载自blog.csdn.net/qq_43193386/article/details/101111063