Python 里的时间、日期与格式化的互相转换
source link: https://www.hongweipeng.com/index.php/archives/2014/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
1wxpXI5DsRERNVkLI3ci0xlxnRAAOVHDzkgkPXD6rgeDn4P7LjnCTh5jBkEs+kNJkh5+GVMWKsN9h8xcQvcELCFIPBjJ2ZiyRrP3vUWaKZzH42+VdBtm3mfO9tQxvnMz/nisqXumrks43DGU0VLXVhmTlnxfxN5XUDTU2wD9lG4VxgHBAVZV49nWKKSOR5yNB7f7/n1S6f23B8loU4jn6mjodr8yBPIGKKJmmc2i+ylKf3UwqR5ChPO3y0wOLNi0
ma4n7sVcQ4uVSTw7qhrO6akQdxuJZiJagmcPrS2d9kR9ebqVIXcEMbuo4RE1/SgNrZiT7SWEqd0FQ6hOq04YZSzP449YLG375tNXe2uHF1tj5TgtXpeohBDp9kRl5ydp
time 模块
iHZJcy7rUOzwBrF+GVw8gO/f8ezPiVf9u8rvh/gONE3STTn5qCXFXSh0udtaMAZcHowX1oDgWGz1KJ/41Bq9ov4VNPpOPKtWlCZQ7ZjtLMZfhLvNiWUZrsGSWl91SOh9GVT7uMSOa0QtQpC12M9+8Kd8OQYVhFGMOTOlbPSavBTGR0JZQN3nrFzAYO4Vj99QBcBTdi7N9A7Z64IyBLVQ81u45zFv9M1/JG1CIjm94ALEcsJVO2USeQ/dIAk8mRNvfUvD7V564Ql3ndC1RqPDtQ==
了解时间戳、结构化时间对象、时间格式化
# 时间戳 单位秒
time.time()
# 结构化时间对象
st = time.localtime() # 等价于 time.localtime( time.time() )
print(st)
"""
time.struct_time(
tm_year=2020, # 年
tm_mon=7, # 月
tm_mday=14, # 日
tm_hour=19, # 时
tm_min=26, # 分
tm_sec=51, # 秒
tm_wday=1, # 星期几 0:表示星期一
tm_yday=196, # 今年的第n天
tm_isdst=0 # 是否为夏令时
)
"""
iHZJcy7rUOzwBrF+GVw8gF/6PTtxL7EwhJdDci/pnVyWSAqRU2yMIawsLcf3ZRTsYTuB7RnvSb7Mc6UpIOtdBg==
# 格式化的时间字符串
time.ctime() # Tue Jul 14 23:20:07 2020 # 这是取本地时间
time.ctime(time.time()) # Tue Jul 14 23:20:07 2020
time.asctime( time.localtime() ) # Tue Jul 14 23:20:07 2020
time.strftime("%Y-%m-%d %H:%M:%S") # 2020-07-14 23:20:07 # 默认取当前的本地时间
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 2020-07-14 23:20:07
time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) # 2020-07-14 15:20:07 # 取 UTC 时间
fU7tKGon9oLRLf4L/Ra9DqHlwbucYnjrTarw1zmwPKfMvNE4ZZLuiXqxWooEDwlVKSkDgL3Alg8kIW9gVln2XlnyhQvIFKKoFLyBONRu1I5kg3i+yWJIMt0dWbcX+OtiIW76UyqsM01XOUw5bMLo/TuNPY+7Fsw12XO1+oF71+w3pFPeqdqJ+2pZuJWWzs05OpoVay2rDD3ILHMaywr9W7guGGv104Eo/EpnKVgJm5/wVCHoxNJaDuNOcqEGVZwETIsjr0wwH+/HqkkXb9DRpzD/WYemcBCXNUTqC4xJvhPEsY9MWC/iwepOT75o2IVz
三种格式之间的互转
KwT+HGSrHJ+qUUgHE2rL7vlEj97A7+ReFnpjKeOu3juw33hjoO9ZiKJOPNNo+NbmLN0k8X/pQMfzO9r5JtPVLg==
# 时间戳 -> 结构化对象
time.gmtime( time.time() ) # UTC 时间
time.localtime( time.time() ) # 本地时间
# 结构化时间对象 -> 时间戳
time.mktime( time.localtime() )
eIiWweOAH/RZyjhgzmV7/wnG4ybieZPHNR/2+JVCBlXXuy3UU6R3j1b2PDir8wmFOBVGjx3nWO+d74vz/KEI4aqAoDD6z/03NELYG3LS/zE=
# 结构化对象 -> 格式化时间字符串
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
# 时间格式字符串 -> 结构化时间对象
strtime = '2020-07-14 13:28:18'
time.strptime(strtime, "%Y-%m-%d %H:%M:%S")
iHZJcy7rUOzwBrF+GVw8gAM7IvpE1c/pJsUzgS1syMhA552fs0gBvbYhPG7lUVnUD2di/6CEVftLQR+Dl4R576wwfaT8qkc69pBRGEQbOiQfriwchbhg/4xBBCo+sxlCbL5cD01FNiuVqeSx2RPWAgVNeuexJq/YP3bTX/K8KBo=
bkT7LhzYwKlRZSazi+vJzRLVv3zZnGiJwVGHixsM8ULD1VqF80LFx6ZWajL1M7kqBEYEl/eHnL45p+woH0EPDyWtkOaB9AXgxbpk4WxJc12kZdLYFqsVsR81pqCEkm9qxXdrIEBwP05AxLhMvQ9GgA==
datetime 模块
Ir1MJuWetOl/ff3v7BdiLsSlir+A3wH58Vjs2TXQCTg1T5UivFRrZweR9kooMIKZQSbk6KExx2EIt7qe9JXAUvEVyMbS9sZn9O39ZromjtIsp/+DyAnmalNiPTG60OQKKiG7iidqoS2NCU7wX1Sujnomlt70HKJLFWlHVsvn4zSpW4GZeuQRqTNp6zjgeMe8AuXk2h4Hg9cEWK1LP7Ce8cXXuMYIToJd0QfCqfI+lcaFBSPGwhk21Fk1Wx0kCDq1
datetime.date
datetime.time
datetime.datetime
datetime.timedelta
N1v2FjWUJkBNQmDI/Q+qJa74WYiWall6u4ca4ro2lyqj/pPfaRbQXu1ZinkmNjsBE2nVaCP9dCauKBvHC/iheS1WF/SKMm+U5JHJRFfoTa9jnYg+2famJrB1ao80NsgGa0jWIfZvh0Mq35k0e0T17zOqEwLwXrlBpbCfSpx5QFo=
# 创建 datetime 对象
datetime.datetime(year, month=None, day=None, hour=0, minute=0, second=0,
microsecond=0, tzinfo=None)
datetime.datetime.now() # 以当前时间作为 datetime
datetime.datetime.today() # 与 now 一样
其他格式转 datetime
# 时间戳 -> datetime
datetime.datetime.fromtimestamp(time.time())
# 字符串格式 -> datetime
datetime.datetime.strptime('2020-07-14 23:56:10', '%Y-%m-%d %H:%M:%S')
# 结构化对象 -> datetime 没有直接转换接口,需要先转为时间戳
datetime.datetime.fromtimestamp(time.mktime(time.localtime()))
datetime 转其他格式
dt = datetime.datetime.now()
# 转为结构化时间对象
dt.timetuple()
# 转为时间戳
dt.timestamp()
# 转为字符串格式
dt.strftime('%Y-%m-%d %H:%M:%S')
时区的转换
s5wm4nRhf6sO1mQzmsKAo5zVsVqVbrNlhRgw+9PGD32g8NEsjE5LGO24Y+ijRZqEGb6E2XV9LrUx3CGDQd19R4//1LvSlchn1IQ0TtGiA9YSADiymcD1kaEAozUS4XqutyOSloEC8Cs7693441RPMRbfjvBIs7qSuB/59vwPX13ajvyOTaZ+Oyhy9fPxheYsbrd4HOicpa5IypqJBFMcT6lxq+rPZ46A5Lgg9TNdm3b5kWwlS5R0q7A+ia+Vg9RFXPk8yZVP8qh8M1jUQLNxEOhsqdkfwUuR2pBhVdqVouye9AI0HCn+iFpi0XjXHbizgsKtIli8Qk1nRzJ1iU9kXbhqz4IViow3L5zL54OWrHakipKjgIQcqfAYYgSHA4G4gEID0N/jLyeE1+cb2wtT1AjZ2NJt4eORHpvYF8Lce8pRmCN+EKBcc+7/S3AIWOENOVNPTPTlWPNVyR7dPN2mHJHyNilFs42j1bFbmsG1aP3426ANEdEZNiRK4zhMUn4M
from datetime import datetime, timedelta, timezone
# utc 时间
utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
print(utc_dt) # 2020-07-14 15:20:07.534451+00:00
# 北京时间
cn_dt = utc_dt.astimezone(timezone(timedelta(hours=8))) # 东八区
print(cn_dt) # 2020-07-14 23:20:07.534451+08:00
ja_dt = utc_dt.astimezone(timezone(timedelta(hours=9))) # 日本时间
print(jan_dt) # 2020-07-15 00:20:07.534451+09:00
# 北京时间转东京时间
cn_2_ja_dt = cn_dt.astimezone(timezone(timedelta(hours=9)))
print(cn_2_ja_dt) # 2020-07-15 00:20:07.534451+09:00
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK