python格式化字符串 时间戳 转 UTC(2023-01-11T16:00:00Z)格式时间

前言:公司前端的时间参数分为两类 一种是时间戳传参,另一种是 2023-01-11T16:00:00Z (UTC)时间传参,有些脚本需要用到datatime.datatime因此要整理一下相关方法

获取时间戳

my_timestamp=time.time()
print(my_timestamp) # 1673492215.2460585

时间戳转time.struct_time

传参时间戳(int or float) 返回为time.struct_time

my_localtime = time.localtime(time.time()) # 默认为当前时间 可以添加时间参数[时间戳 或浮点时间戳] 可以通过索引 a[0] a.tm_mon 两种方式取值
# my_localtime= time.localtime(1672502400)
print(my_localtime)  # time.struct_time(tm_year=2023, tm_mon=1, tm_mday=12, tm_hour=10, tm_min=40, tm_sec=22, tm_wday=3, tm_yday=12, tm_isdst=0)

时间戳转格式化字符串

传参 时间格式,time.struct_time 返回 格式化字符串

my_strftime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  # 获取当前 格式化字符串 时间
print(my_strftime)  # 2023-01-12 10:40:22 格式化字符串

时间戳转 utc/gmt的time.struct_time

传参 时间戳(int or float) 返回gmt时间的time.struct_time

my_gmtime = time.gmtime() # 默认参数为当前时间戳 可以写入时间戳
print(my_gmtime)  # time.struct_time(tm_year=2023, tm_mon=1, tm_mday=12, tm_hour=2, tm_min=46, tm_sec=29, tm_wday=3, tm_yday=12, tm_isdst=0)

字符串转time.struct_time

my_strptime=time.strptime("2023-01-01 23:59:59","%Y-%m-%d %H:%M:%S")
print("1",my_strptime)

time.struct_time转时间戳

my_mktime=time.mktime(time.localtime(time.time()))
print(my_mktime)

应用1 字符串转时间戳

  • 思路 格式化字符串–time.struct_time–时间戳
import time
my_to_timestamp=time.mktime(time.strptime("2023-01-01 23:59:59","%Y-%m-%d %H:%M:%S"))
print("1",my_to_timestamp) # 1672588799.0

应用2 datetime.datetime到2023-01-11T16:00:00.000Z格式的utc/gmt时间

  • 思路 datetime.datetime–格式化字符串–time.struct_time–时间戳–utc/gmt的time.struct_time–格式化字符串
import datetime
import time
# datetime.datetime--格式化字符串
my_datetime = datetime.datetime(2023, 1, 1, 0, 0, 0)
# print(type(my_datetime)) # <class 'datetime.datetime'>
# print(my_datetime) # 2023-01-01 00:00:00
my_datetime_str = str(my_datetime)

# 格式化字符串--time.struct_time
my_datetime_str_strptime=time.strptime(my_datetime_str,"%Y-%m-%d %H:%M:%S")

# time.struct_time--时间戳
my_datetime_str_strptime_mktime=time.mktime(my_datetime_str_strptime)

# time.struct_time--utc/gmt的time.struct_time
my_datetime_str_strptime_mktime_gmtime=time.gmtime(my_datetime_str_strptime_mktime)

# utc/gmt的time.struct_time--格式化字符串2023-01-11T16:00:00.000Z
d=time.strftime("%Y-%m-%dT%H:%M:%SZ", my_datetime_str_strptime_mktime_gmtime)
print(d) # 2022-12-31T16:00:00Z

根据gpt生成的代码 更方便

from datetime import datetime

# 获取当前时间戳
current_timestamp = int(datetime.timestamp(datetime.now()))

# 将时间戳转为格式化字符串
formatted_string = datetime.fromtimestamp(current_timestamp).strftime("%Y-%m-%d %H:%M:%S")

# 输出结果
print("当前时间戳:", current_timestamp)
print("转化后的格式化字符串:", formatted_string)

# 将格式化字符串转为时间戳
input_formatted_string = "2022-01-11 14:30:00"
converted_timestamp = int(datetime.timestamp(datetime.strptime(input_formatted_string, "%Y-%m-%d %H:%M:%S")))

# 输出结果
print("输入的格式化字符串:", input_formatted_string)
print("转化后的时间戳:", converted_timestamp)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值