python中日期的数据类型_Python中数据类型时间的介绍(附代码)

本篇文章给大家带来的内容是关于Python中数据类型时间的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、什么是时间数据类型

Python中表示时间类型的数据结构为时间数据类型;

2.time模块import time

# 获取当前时间的时间戳

print(time.time()) #输出:1548742426.1698806

# 返回当前时间的元组

t = time.localtime()

print(t)

#输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=29, tm_hour=14, tm_min=14, tm_sec=17, tm_wday=1, tm_yday=29, tm_isdst=0)

# 将当前时间元组转变为字符串

print(time.asctime(time.localtime())) #输出:Tue Jan 29 14:15:51 2019

# # 格式化字符串

print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) #输出:2019-01-29 14:16:08

# # 将字符串转为时间元组

print(time.strptime('2018-11-27 08:08:08', '%Y-%m-%d %H:%M:%S'))

#输出:time.struct_time(tm_year=2018, tm_mon=11, tm_mday=27, tm_hour=8, tm_min=8, tm_sec=8, tm_wday=1, tm_yday=331, tm_isdst=-1)

# sleep方法, 会占用cpu时间片

print(time.sleep(5)) #5秒后输出:None

# 打印日历

import calendar

print(calendar.month(2019, 1)) #输出:2019年1月的日历

时间戳:就是从0时区1970年1月1日0时0分0秒,到所给定日期时间的秒数(浮点型);

时间戳获取:使用import导入time模块,调用time模块的time方法,得到的时间戳如果不要小数点后面的就是秒,取后面三位小数就是毫秒,再下去三位就是微秒,一般取到毫秒就可以了;

localtime方法:返回当前时间的元组(包括年月日时分秒等);

asctime方法:将当前时间元组转变为字符串(欧美国家的时间格式);

strftime方法:格式化字符串;

strptime方法:和strftime方法相反,用来将字符串转为时间元组;

sleep方法:会占用cpu时间片(也就是让整个线程暂停一些时间);

打印日历:import导入calendar模块,然后调用month方法;

3.datetime模块

python中的datetime模块提供了操作日期和时间功能,该模块提供的五种核心对象分别是:datetime(时间日期类型), date(日期类型), time(时间类 型), tzinfo(时区类型), timedelta(时间差类型);

(1) datetime类型from datetime import datetime

# 1: 构建一个指定日期和时间的datetime对象

today = datetime(year=2019,month=1,day=29,hour=14,minute=22,second=54)

print(today) #输出:2019-01-29 14:22:54

#获取当前日期时间,输出类型为datetime

now = datetime.now()

print(now,type(now)) #输出:2019-01-29 14:23:35.408583

d_now = datetime.now()

# datetime类型转字符串

d_str = d_now.strftime('%Y-%m-%d %H:%M:%S')

print(d_str,type(d_str)) #输出:2019-01-29 14:26:12

# 字符串转datetime类型

d_type = datetime.strptime(d_str,'%Y-%m-%d %H:%M:%S')

print(d_type,type(d_type)) #输出:2019-01-29 14:26:12

# 计算时间戳

timestamp = d_type.timestamp()

print(timestamp) #输出:1548743501.0

# 计算时间戳

timestamp = d_type.timestamp()

print(timestamp) #输出:1548743935.0

# 通过时间戳获取datetime对象

d_type = datetime.fromtimestamp(1543408827)

print(d_type, type(d_type)) #输出:2018-11-28 20:40:27 datetime类型转字符串用strftime方法,字符串转datetime类型用strptime方法;

timestamp方法:计算时间戳;

fromtimestamp方法:通过时间戳获取datetime对象;

(2) date类型from datetime import date

data_today = date(year=2018, month=11, day=29)

print(data_today) #输出:2018-11-29导入date模块,实例化日期;

(3) time类型from datetime import time

now_time = time(hour=8, minute=30, second=10)

print(now_time, type(now_time)) #输出:20:30:10 导入time类型,实例化时间;

(4) timedelta类型from datetime import datetime, timedelta

# 时间间隔可以通过相减得到

now = datetime.now()

before_datatime = datetime(year=2018, month=11, day=20, hour=8, minute=20, second=20)

delta = now - before_datatime

print(delta, type(delta)) #输出:70 days, 6:22:37.340041

# 可以初始化时间间隔

delta_days = timedelta(days=7)

print(delta_days, type(delta_days)) #输出:7 days, 0:00:00

# 可以通过时间间隔得到将来的时间

future_datetime = now + delta_days

print(future_datetime) #输出:2019-02-05 14:43:54.582315timedelta对象表示一个时间段,timedelta对象可以通过手动实例化得到,也可以通过相减得到;

(5)tzinfo类型from datetime import datetime

import pytz

utc_tz = pytz.timezone('UTC')

print(pytz.country_timezones('cn')) # 显示中国时区的城市 #输出:['Asia/Shanghai', 'Asia/Urumqi']

print(pytz.country_timezones('us')) # 显示美国时区的城市

# #输出:['America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu']

# # 获取时区

china_tz = pytz.timezone('Asia/Shanghai')

america_tz = pytz.timezone('America/New_York')

# # 获取城市本地时间

china_local_time = datetime.now(china_tz) # 东八区

america_local_time = datetime.now(america_tz) # 西五区

print(china_local_time) #输出:2019-01-29 14:51:51.252579+08:00

print(america_local_time) #输出:2019-01-29 14:51:51.252579+08:00安装pytz包:进入项目,执行pip install pytz命令;

获取时区:pytz.timezone(地区名);

获取城市本地时间:datetime.now(时区名);

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值