美文网首页
Python 时间转换

Python 时间转换

作者: octocat | 来源:发表于2018-07-20 11:36 被阅读0次
  • 字符串转datetime
# 不加时区转换
>> import datetime
>> datetime.datetime.strptime('1991-12-17', '%Y-%m-%d')
datetime.datetime(1991, 12, 17, 0, 0)
# 加时区
>> import pytz
>> datetime.datetime.strptime('1991-12-17', '%Y-%m-%d').replace(tzinfo = pytz.timezone('Asia/Shanghai'))
datetime.datetime(1991, 12, 17, 0, 0, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)
# 在Django中转化加时区(原理和上面一样)
>> from django.utils import timezone
# 默认时区是timezone.get_current_timezone()。从settings里面获取的
>> timezone.make_aware(datetime.datetime.strptime('1991-12-17', '%Y%m%d'))
datetime.datetime(1991, 12, 17, 0, 0, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)
# 使用dateutil
# 可以转化的字符串比较自由
>> from dateutil.parser import parse
>> parse("Wed, Nov 12")
datetime.datetime(2018, 11, 12, 0, 0)
  • datetime 转字符串
>> import datetime
>> my_time = datetime.datetime.strptime('1991-12-17', '%Y-%m-%d')
>> my_time.strftime(format = '%Y-%m-%d')
1991-12-17
  • 时间段
>> import datetime
>> datetime.timedelta(seconds = 1)
datetime.timedelta(0, 1)
# 使用relativedelta可以获得比timedelta更长的时间单位,比如年
>> from dateutil.relativedelta import relativedelta
>> relativedelta(seconds = 1)
relativedelta(seconds=+1)
>> relativedelta(years = 1)
relativedelta(years=+1)

相关文章

网友评论

      本文标题:Python 时间转换

      本文链接:https://www.haomeiwen.com/subject/cwufmftx.html