Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah kaedah untuk menukar format masa dalam Python?

Apakah kaedah untuk menukar format masa dalam Python?

WBOY
Lepaskan: 2023-05-09 15:34:18
ke hadapan
2122 orang telah melayarinya

Tuple masa

1 Interaksi antara tuple masa dan cap waktu

import time,datetime
# 获取当前时间的时间元组
t = time.localtime()
print(t)
# 时间元组转时间戳
timestamp = time.mktime(t)
print(timestamp)
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=15, tm_sec=41, tm_wday=2, tm_yday=296, tm_isdst=0)
# 1571843741.0
# 获取时间戳
ts = time.time()
# 时间戳转时间元组
# 方法一
print('法一:',time.localtime(ts))
# 方法二
print('法二:',time.gmtime(ts))
# 两种方法的区别只有小时的输出不同,法一的小时是24小时制的,法二是12小时的
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0)
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=15, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0)
Salin selepas log masuk

2. Interaksi antara tuple masa dan Penukaran rentetan

import time
# 字符串转时间元组
# 字符类型的时间
t1 = '2013-10-10 23:40:00'
# 转为时间元组,时间元组本身没有直接的用处,但它可以输出时间的年月日时分秒等
# 注意这里的字符串除了%Y %m %d %H %M %S分别代表字符串中的年月日时分秒,
# 这里的格式必须和字符串一模一样,由于字符串中间有空格,它也不能少
timeArray = time.strptime(t1, "%Y-%m-%d %H:%M:%S")
print('并没有直接的用处:', timeArray)
print('输出年:', timeArray.tm_year)
print('输出月:', timeArray.tm_mon)
print('输出日:', timeArray.tm_mday)
print('输出时:', timeArray.tm_hour)
print('输出分:', timeArray.tm_min)
print('输出秒:', timeArray.tm_sec)
# 当用%Y时表示的是年份的全称,当用%y时表示简称,
# 月份和小时没有这种用法,它们只用小写,时分秒的貌似只用大写
t2 = '19/09/05 22/16'
timeArray = time.strptime(t2, "%y/%m/%d %H/%M")
print(timeArray)
# 并没有直接的用处: time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)
# 输出年: 2013
# 输出月: 10
# 输出日: 10
# 输出时: 23
# 输出分: 40
# 输出秒: 0
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=22, tm_min=16, tm_sec=0, tm_wday=3, tm_yday=248, tm_isdst=-1)
# 时间元组转字符串
ts = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(ts)
# 2019/09/05 22:16:00
Salin selepas log masuk

Dua rentetan dan cap masa

Rentetan dan cap masa tidak boleh ditukar terus dan mesti dilengkapkan melalui tupel masa, yang merupakan perantara.

Rajah penukaran:

Apakah kaedah untuk menukar format masa dalam Python?

Penggunaan penambahan dan penolakan sebanyak tiga kali

Tuple masa tidak boleh ditambah atau ditolak, hanya masa dalam format datetime boleh ditambah atau ditolak di Bawah Selepas rentetan ditukar kepada tarikh masa, masa tambah dan operasi tolak dilakukan.

import datetime
start = '2019-07-28 00:00:08'
end = '2019-07-29 00:50:03'
# 先将字符串转化为时间格式
a = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S")
b = datetime.datetime.strptime(end, "%Y-%m-%d %H:%M:%S")
print(a,b)
# 只能直接计算秒和天,其它的不能
# seconds获得的秒只是时间差中的小时、分钟和秒部分的和,并没有包含时间差的天数
print((b-a).seconds)
# total_seconds来获取准确的时间差,并将时间差转换为秒
print((b-a).total_seconds())
# 如果不够一天,会输出0
print((b-a).days)
# 时间相加
c = a + datetime.timedelta(hours=5,seconds=68)
d = a - datetime.timedelta(days=69,minutes=89)
print(c,d)
# 2019-07-28 00:00:08 2019-07-29 00:50:03
# 2995
# 89395.0
# 1
# 2019-07-28 05:01:16 2019-05-19 22:31:08
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah kaedah untuk menukar format masa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan