1. 시간 튜플과 타임스탬프의 상호 변환
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)
2. 시간 튜플과 문자열의 상호 변환
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
문자열과 타임스탬프는 직접 변환할 수 없으므로 완료해야 합니다. 중개자인 시간 튜플을 통해
변환 다이어그램:
시간 튜플은 덧셈과 뺄셈이 불가능하므로 날짜/시간 형식을 사용해야 합니다. 시간은 덧셈과 뺄셈만 가능합니다. 다음은 문자열을 datetime으로 변환한 후 시간 더하기, 빼기 연산입니다.
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
위 내용은 Python에서 시간 형식을 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!