python

当前位置:首页 > 疑难杂症 > 当前文章

疑难杂症

datetime模块获取时间,与字符串转化,格式化输出,计算时间差

2020-06-06 179赞 python中国网
每篇文章努力于解决一个问题!

  编程中经常会对时间进行处理,python中datetime是比较常用的时间模块,常用于获取时间、时间类型与字符串转化、时间格式化输出、计算时间差等,本文简单总结下以备使用。

  获取时间、时间类型与字符串转化及时间格式化输出,主要依靠datetime.datetime类;计算时间差主要依靠datetime.timedelta类。

  1、获取时间

# -*- coding: utf-8 -*-
import datetime

now = datetime.datetime.now()
print(type(now),now)
t = datetime.datetime.today()
print(t)
print(t.year)
print(t.month)
print(t.day)
print(t.hour)
print(t.minute)
print(t.second)
print('本周是今年的第{}周'.format(t.strftime('%U')))
print('今天是{}.'.format(now.strftime('%A')))
print('今天是星期{}'.format(t.isoweekday()))  #返回的1-7代表周一到周日;


<class 'datetime.datetime'> 2020-06-06 20:00:57.477423
2020-06-06 20:00:57.477424
2020
6
6
20
0
57
本周是今年的第22周
今天是Saturday.
今天是星期6



  2、时间类型与字符串转化、格式化输出时间

# -*- coding: utf-8 -*-
import datetime

now = datetime.datetime.now()
print(now)
# 时间格式转字符串
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(now.strftime('%Y-%m-%d %H:%M'))
print(now.strftime('%Y-%m-%d %H'))

print('----------')
# 字符串转时间
t = datetime.datetime.strptime('2020-06-06 00:00:00', '%Y-%m-%d %H:%M:%S')
print(t,type(t))




2020-06-06 20:55:44.554382
2020-06-06 20:55:44
2020-06-06 20:55
2020-06-06 20
----------
2020-06-06 00:00:00 <class 'datetime.datetime'>


  3、计算时间差

# -*- coding: utf-8 -*-
import datetime

now = datetime.datetime.now()
print(now)

# 时间差
t1 = datetime.timedelta(days=1, hours=12)
t2 = datetime.timedelta(days=1, hours=-12)
print(now - t1)
print(now - t2)

days = datetime.timedelta(hours=240).days
print('240小时有{}天'.format(days))

seconds = datetime.timedelta(days=10, hours=10).total_seconds()
print('10天10小时有{}秒'.format(seconds))





2020-06-06 22:01:15.269153
2020-06-05 10:01:15.269153
2020-06-06 10:01:15.269153
240小时有10天
10天10小时有900000.0秒


文章评论

datetime模块获取时间,与字符串转化,格式化输出,计算时间差文章写得不错,值得赞赏