Python从门到精通(一):基础-03-Date和Zone(python date())

网友投稿 256 2022-08-28


Python从门到精通(一):基础-03-Date和Zone(python date())

需引入datetime和timezone基础库,本章只列出一些常用的函数。

一、时间转换

1.1、基础操作

from datetime import timedelta#定义时间a = timedelta(days=2, hours=6)b = timedelta(hours=4.5)print(a) # 2 days, 6:00:00c = a + bprint(f'{a} + {b} = {c}') # 2 days, 6:00:00 + 4:30:00 = 2 days, 10:30:00#取得各组成部分print(f'c.days = {c.days}') #2print(f'c.seconds = {c.seconds}') # 37800print(f'c.seconds / 3600 = {c.seconds / 3600}') #10.5print(f'c.total_seconds() / 3600 = {c.total_seconds() / 3600}') #58.5

1.1.1、格式化输出

from datetime import datecurr_data = date(2020, 5, 6)print(f'default format: {format(curr_data)}') #2020-05-06print(f"date info is: {format(curr_data,'%A, %B %d, %Y')}") #Wednesday, May 06, 2020

1.2、计算

from datetime import timedeltafrom datetime import datetimea = datetime(2020, 1, 1)b = datetime(2020, 4, 28)print(f'{a} + timedelta(days=10) = {a + timedelta(days=10)}') #2020-01-11 00:00:00d = b - aprint(f'd.days = {d.days}') #118now_date = datetime.today()print(f'the date time of now is: {now_date}') #2022-06-20 16:51:20.161591print(f'{now_date} + timedelta(minutes=30) = {now_date + timedelta(minutes=30)}') #2022-06-20 17:21:20.161591 ||months=1

from datetime import datetimea = datetime(2020, 1, 1)b = datetime(2020, 4, 28)from dateutil.relativedelta import relativedeltaprint(f'{a} + relativedelta(months=+1) = {a + relativedelta(months=+1)}') #2020-02-01 00:00:00print(f'{a} + relativedelta(months=+4) = {a + relativedelta(months=+4)}') #2020-05-01 00:00:00

二、与字符串互转

from datetime import datetimedate_text = '2020-04-20'y = datetime.strptime(date_text, '%Y-%m-%d')z = datetime.now()print(f'z = {z}') #2022-06-20 16:56:20.573184print(f'{z} - {y} = {z - y}') #791 days, 16:56:20.573184print(f"datetime.strftime(z, '%A %B %d, %Y') = {datetime.strftime(z, '%A %B %d, %Y')}") #Monday June 20, 2022from datetime import datetimedef parse_ymd(s): year_s, mon_s, day_s = s.split('-') return datetime(int(year_s), int(mon_s), int(day_s))print(parse_ymd('2012-12-21')) #2012-12-21 00:00:00

三、时区

from datetime import datetimefrom pytz import timezonedate_time = datetime(2020, 4, 28, 9, 30, 0)print(f'current is: {date_time}') #2020-04-28 09:30:00central = timezone('US/Central')chicage_date = central.localize(date_time)print(f'chicage date is: {chicage_date}') #2020-04-28 09:30:00-05:00chine_d = chicage_date.astimezone(timezone('Asia/Shanghai'))print(f'chine date is: {chine_d}') #2020-04-28 22:30:00+08:00from datetime import timedeltaimport pytzutc_d = chicage_date.astimezone(pytz.utc)print(f'utc_d is: {utc_d}') #2020-04-28 14:30:00+00:00print(f"country timezone is:{pytz.country_timezones['CN']}") #['Asia/Shanghai', 'Asia/Urumqi']


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:php调用python脚本,将word转为html代码及调用失败处理(python html转word文档)
下一篇:JavaIO模型中的BIO,NIO和AIO详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~