Python datetime time 等時間 日期 之間的計算和相互轉化


from datetime import datetime, date, timedelta, timezone
from time import time, ctime, localtime, strftime, strptime, mktime


'''
%Y %m %d %H %M %S 年月日時分秒
%A %a   全寫星期 簡寫星期

'''
# 生成當前時區日期事件字符串
tct = ctime()
print(tct,type(tct))
print(tct.strip(),type(tct.strip()))

# 兩個獲取時間的方法
print(time(),datetime.now())

print('--------------------------')
# 獲取日期對象並格式化輸出
print(datetime.now().strftime('%Y-%m-%d %Z %H:%M:%S %A %x %X 星期 %w'))

# 獲取可計算的日期差值對象
print(timedelta(1))

# 日期字符串轉化為datetime對象
datetime_str = '2019-08-12 12/23/50'

print(datetime.strptime(datetime_str, '%Y-%m-%d %H/%M/%S'))

dt = datetime.now()
print(timedelta(2))

# timetuple 方式獲取日期對象
dto = datetime(19,4,12,23,45,10)
print(dto)
print(dto.timetuple())

print('=============================')
# 日期計算,根據日期時間差值計算日期
today = datetime.now()
print(today)
days = timedelta(3)
afterday = today+days
print(afterday)
day_minute = timedelta(days=3,seconds=3600)
after_day = today+day_minute
print(after_day)

print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')

# 獲取UTC時間並進行時區換算
utcdt = datetime.utcnow()
print(utcdt)
print(utcdt.astimezone(timezone(timedelta(hours=8))))
print(datetime.now().strftime('%Y>%m>%d %H:%M:%S'))
print(datetime.now()-timedelta(hours=8))

# 秒數換日期時間
n = time()
d = timedelta(seconds=n)
print(localtime(n))
print(strftime('%Y/%m/%d %H:%M', localtime(n)))

# 獲取當前日星期幾 0-6 周一-周日
print(datetime.weekday(datetime.now()))

# 日期格式字符串換算秒數
st = strptime('2019.03.24', '%Y.%m.%d')
print(st)
print(mktime(st))

'''
Sun Apr 28 15:12:38 2019 <class 'str'>
Sun Apr 28 15:12:38 2019 <class 'str'>
1556435558.4862983 2019-04-28 15:12:38.486300
--------------------------
2019-04-28  15:12:38 Sunday 04/28/19 15:12:38 星期 0
1 day, 0:00:00
2019-08-12 12:23:50
2 days, 0:00:00
0019-04-12 23:45:10
time.struct_time(tm_year=19, tm_mon=4, tm_mday=12, tm_hour=23, tm_min=45, tm_sec=10, tm_wday=4, tm_yday=102, tm_isdst=-1)
=============================
2019-04-28 15:12:38.487751
2019-05-01 15:12:38.487751
2019-05-01 16:12:38.487751
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2019-04-28 07:12:38.487764
2019-04-28 07:12:38.487764+08:00
2019>04>28 15:12:38
2019-04-28 07:12:38.487788
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=28, tm_hour=15, tm_min=12, tm_sec=38, tm_wday=6, tm_yday=118, tm_isdst=0)
2019/04/28 15:12
6
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=83, tm_isdst=-1)
1553356800.0
'''

'''
%a      星期的簡寫。如 星期三為Web
%A      星期的全寫。如 星期三為Wednesday
%b      月份的簡寫。如4月份為Apr
%B      月份的全寫。如4月份為April
%c:     日期時間的字符串表示。(如: 04/07/10 10:43:39)
%d:     日在這個月中的天數(是這個月的第幾天)
%f:     微秒(范圍[0,999999])
%H:     小時(24小時制,[0, 23])
%I:     小時(12小時制,[0, 11])
%j:     日在年中的天數 [001,366](是當年的第幾天)
%m:     月份([01,12])
%M:     分鍾([00,59])
%p:     AM或者PM
%S:     秒(范圍為[00,61],為什么不是[00, 59],參考python手冊~_~)
%U:     周在當年的周數當年的第幾周),星期天作為周的第一天
%w:     今天在這周的天數,范圍為[0, 6],6表示星期天
%W:     周在當年的周數(是當年的第幾周),星期一作為周的第一天
%x:     日期字符串(如:04/07/10)
%X:     時間字符串(如:10:43:39)
%y:     2個數字表示的年份
%Y:     4個數字表示的年份
%z:     與utc時間的間隔 (如果是本地時間,返回空字符串)
%Z:     時區名稱(如果是本地時間,返回空字符串)
'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM