【Py】时间转换

57 篇文章 1 订阅
14 篇文章 0 订阅
import datetime
from datetime import timezone, timedelta
from dateutil import parser

rfc3339转datetime(本地时区)

>>> datetime.datetime.fromtimestamp(parser.parse('2021-05-19T10:10:10.000Z').timestamp()).astimezone(timezone(timedelta(hours=8)))

datetime.datetime(2021, 5, 19, 18, 10, 10, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800)))

适用于将rfc3339格式的字符串转为时间,发送给MongoDB中

当前时间datetime添加时区

>>> datetime.datetime.now().astimezone(timezone(timedelta(hours=8)))

datetime.datetime(2021, 5, 19, 22, 15, 37, 616528, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800)))

适用于后端添加当前时间,发送给MongoDB中

datetime(无时区)转str(本地时区)

local_tm = datetime.datetime.fromtimestamp(0)
utc_tm = datetime.datetime.utcfromtimestamp(0)
offset = local_tm - utc_tm
datetime.datetime.fromtimestamp((datetime.datetime(2021, 5, 19, 10, 0, 0)+offset).timestamp()).strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]

'2021-05-19 18:00:00.000'

适用于从MongoDB中获取时间,转换后给前端

datetime(有时区)转rfc3339

import datetime
from datetime import timezone, timedelta

dt = datetime.datetime.now().astimezone(timezone(timedelta(hours=8)))
datetime.datetime.utcfromtimestamp(dt.timestamp()).strftime("%Y-%m-%dT%H:%M:%S.%fZ")

'2022-02-23T09:06:41.793016Z'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值