前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(十五) 初遇python甚是喜爱之Datetime Module模块操作

(十五) 初遇python甚是喜爱之Datetime Module模块操作

作者头像
XXXX-user
修改2019-07-30 10:53:36
6970
修改2019-07-30 10:53:36
举报
文章被收录于专栏:不仅仅是python不仅仅是python

各位读者大大们大家好,今天学习python的Datetime Module模块操作,包括datetime.date()、datetime.time()、datetime.datetime(),timezone时区等内容,并记录学习过程欢迎大家一起交流分享。

新建一个python文件命名为py3_datetime.py,在这个文件中进行操作代码编写:

代码语言:javascript
复制
import datetime
import pytz
####datetime.date()学习
t_date = datetime.date(2019,5,21)
print(t_date)#2019-05-21
#这里注意传入的月份、天不能以0开头
#t_date = datetime.date(2019,05,21)
#SyntaxError: invalid token
#print(t_date)
#获取今天的日期
today = datetime.date.today()
print(today)#2019-05-21
print(today.year)#2019
print(today.day)#21
print(today.month)#5

#接下来看weekday()和isoweekday()
print(today.weekday())#1
print(today.isoweekday())#2
#区别:
#weekday() 周一:0 周日:6
#isoweekday() 周一:1 周日:7

#delta两个时间的间隔函数
#定义间隔时间为7天
tdelta = datetime.timedelta(days=7)
#打印当前时间分别加减7天
print(today + tdelta)#2019-05-28
print(today - tdelta)#2019-05-14
#定义生日的日期
birthday = datetime.date(2019,7,12)
today = datetime.date.today()
#获取距离过生日还有多久
till_birthday = birthday - today
print(till_birthday)#52 days, 0:00:00
print(till_birthday.days)#52
print(till_birthday.total_seconds())#4492800.0
####datetime.time()学习
t_time = datetime.time(9,30,45,100000)
#同上这里注意传入的时分秒等开头不能加O
print(t_time)#09:30:45.100000
print(t_time.hour)#9
print(t_time.minute)#30
print(t_time.second)#45
print(t_time.microsecond)#100000
#####datetime.datetime()学习
d_time = datetime.datetime(2019,5,21,14,6,40,100000)
print(d_time)#2019-05-21 14:06:40.100000
print(d_time.date())#2019-05-21
print(d_time.time())#14:06:40.100000
print(d_time.year)#2019
tdelta = datetime.timedelta(days=7)
#加7天
print(d_time + tdelta)
#加12小时
hourdelta = datetime.timedelta(hours=12)
print(d_time + hourdelta)

###TimeZone时区的学习
#下面代码使用到
#pytz 第三方的时区库
#使用pip install pyzt 安装
#pip的使用后续在学
#这里不做描述
#引入pytz 见开头部分
#定义时间  指定时区
d_time = datetime.datetime(2019,5,21,14,6,40,100000,tzinfo =pytz.UTC)
print(d_time)
#定义时间now()指定时区
d_time_now = datetime.datetime.now(pytz.UTC)
print(d_time_now)
#定义时间utcnow()指定时区
d_time_utcnow = datetime.datetime.utcnow().replace(tzinfo=pytz.UTC)
print(d_time_utcnow)
#改变时区
d_time_now = datetime.datetime.now(pytz.UTC)
d_time_sh = d_time_now.astimezone(pytz.timezone('Asia/Shanghai'))
print(d_time_sh)
#打印所有的时区
#for tz in pytz.all_timezones:
#  print(tz)

#定义时间 时区指定为亚洲上海
d_time_now = datetime.datetime.now(tz = pytz.timezone('Asia/Shanghai'))
#打印iso格式的时间
print(d_time_now.isoformat())#2019-05-21T14:46:51.286184+08:00

#String to Datetime字符串转时间
#使用strptime()
dt_str = 'May 21 2019'
dt = datetime.datetime.strptime(dt_str,'%B %d %Y')
print(dt)
#Datetime to String时间转字符串
#使用strftime()
print(d_time_now.strftime('%B %d %Y'))

以上代码运行得到的结果

代码语言:javascript
复制
2019-05-21
2019-05-21
2019
21
5
1
2
2019-05-28
2019-05-14
52 days, 0:00:00
52
4492800.0
09:30:45.100000
9
30
45
100000
2019-05-21 14:06:40.100000
2019-05-21
14:06:40.100000
2019
2019-05-28 14:06:40.100000
2019-05-22 02:06:40.100000
2019-05-21 14:06:40.100000+00:00
2019-05-21 07:16:20.772527+00:00
2019-05-21 07:16:20.772527+00:00
2019-05-21 15:16:20.772527+08:00
2019-05-21T15:16:20.772527+08:00
2019-05-21 00:00:00
May 21 2019

今天初学python的Datetime Module操作就到这里!

关注公号

下面的是我的公众号二维码图片,欢迎关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yale记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注公号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档