Python3-datetime模块-日期与时间

官方文档

  http://python.usyiyi.cn/translate/python_352/library/datetime.html

代码示例

from datetime import datetime

now = datetime.now()
print("年:%s" % now.year)
print("月:%s" % now.month)
print("日:%s" % now.day)
print("时:%s" % now.hour)
print("分:%s" % now.minute)
print("秒:%s" % now.second)
print("毫秒:%s" % now.microsecond)
print("星期:%s" % now.weekday())           # 星期一到星期日  0-6
print("星期:%s" % now.isoweekday())        # 星期一到星期日  1-7
print("日期:%s" % now.date())
print("时间:%s" % now.time())
print("公里序数:%s" % now.toordinal())     # 00001年1月1日的公里序数是1,00001年1月2日的公里序数是2
1.获取当前的日期与时间
from datetime import datetime

dt = datetime(year=2017, month=6, day=27, hour=16, minute=19, second=52)
print(dt.strftime("%Y-%m-%d %H:%M:%S"))

# %Y        以0填充的十进制数字表示的带有世纪的年份 0001, 0002, ..., 2013, 2014, ..., 9998, 9999
# %y         以0填充的十进制数表示的不带世纪的年份 00, 01, ..., 99
# %m        以0填充的十进制数字表示的月份 01, 02, 03..., 12
# %d        以0填充的十进制数字表示的月份中的日期 01, 02, 03..., 31
# %H        以0填充的十进制数字表示的小时(24小时制)00, 01, 02, 03...23
# %I        以0填充的十进制数表示的小时(12小时制)01, 02, ..., 12
# %M        以0填充的十进制数字表示的分钟 00, 01, 02...59
# %S        以0填充的十进制数字表示的秒数 00, 01, 02...59
# %j        以0填充的十进制数字表示的一年中的日期 001,002,...,366
# %%        '%'字符的字面值
2.日期时间对象格式化成字符串

  注意: strftime()方法的参数在包含中文时,可能会有错,有两个解决办法,推荐第二种

  

 

from datetime import datetime
from datetime import timedelta

# 1.给一个日期加上指定的时间
today = datetime.today()
print(today + timedelta(days=1))           # +1 天
print(today + timedelta(days=-1))          # -1 天 => today - timedelta(days=1)
print(today + timedelta(hours=1))          # +1 小时
print(today + timedelta(minutes=120))      # +120 分钟 => +2小时
print(today + timedelta(seconds=-10))      # -10 秒
print(today + timedelta(weeks=1))          # +1 星期

# 2.两个日期相减
dt1 = datetime(year=2017, month=6, day=30, hour=13, minute=50)
dt2 = datetime(year=2017, month=6, day=30, hour=16, minute=10)
lag_time = dt2 - dt1
print(lag_time.total_seconds())                  # 相差的时间,单位: 秒
print(lag_time.total_seconds()/60)               # 相差的时间,单位: 分钟
print(lag_time.total_seconds()/60/60)            # 相差的时间,单位: 小时
3.日期与时间的计算
from datetime import datetime

# 使用类方法 datetime.strptime(str, format)
dt = datetime.strptime("2017-6-28 15:56:34", "%Y-%m-%d %H:%M:%S")
print(dt)
print(type(dt))     # 类型: <class 'datetime.datetime'>
4.字符串解析成日期时间对象

 

posted on 2017-06-30 14:00  AustralGeek  阅读(739)  评论(0编辑  收藏  举报

导航