网站上传权限,郑州知名做网站公司,南京市秦淮区建设局网站,公司注册流程及条件一、time模块 三种格式 时间戳时间#xff1a;浮点数 单位为秒 时间戳起始时间#xff1a; 1970.1.1 0:0:0 英国伦敦时间 1970.1.1 8:0:0 我国(东8区) 结构化时间#xff1a;元组(struct_time) 格式化时间#xff1a;str数据类型的 1、常用方法 import timetime.sleep(secs…一、time模块 三种格式 时间戳时间浮点数 单位为秒 时间戳起始时间 1970.1.1 0:0:0 英国伦敦时间 1970.1.1 8:0:0 我国(东8区) 结构化时间元组(struct_time) 格式化时间str数据类型的 1、常用方法 import timetime.sleep(secs) 推迟指定的时间运行单位是秒for i in range(3):time.sleep(1)print(i) 2、表示时间的三种方式 时间戳(timestamp)、元组(struct_time)、格式化(str_time)的时间字符串1. 时间戳(timestamp) 通常来说时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
我们运行“type(time.time())”返回的是float类型。
print(time.time()) # 1536050072.5732844(1970年1月1日00:00:00到此刻运行time.time()的时间) 2. 结构化时间(struct_time) struct_time元组共有9个元素共九个元素:(年月日时分秒一周中第几天一年中第几天夏令时
struct_time time.localtime() # 我国的时间
print(struct_time)
# time.struct_time(tm_year2018, tm_mon9, tm_mday4, tm_hour16, tm_min40, tm_sec1, tm_wday1, tm_yday247, tm_isdst0)
struct_time time.gmtime() # 伦敦的时间
print(struct_time)
# time.struct_time(tm_year2018, tm_mon9, tm_mday4, tm_hour8, tm_min40, tm_sec1, tm_wday1, tm_yday247, tm_isdst0)3. 格式化时间(Format_string)
fmt1 time.strftime(%H:%M:%S) # 时分秒(全大写)
fmt2 time.strftime(%Y-%m-%d) # 年月日(年可大写可小写月日小写)
fmt3 time.strftime(%y-%m-%d) # 年月日
fmt4 time.strftime(%c) # 本地相应的日期表示和时间表示print(fmt1) # 16:49:03
print(fmt2) # 2018-09-04
print(fmt3) # 18-09-04
print(fmt4) # Tue Sep 4 16:49:03 2018 3、几种时间格式间的转换 1. 转换 Timestamp --- struct_time: time.localtime(转成我国的时间)、time.gmtime(转成伦敦时间)struct_time --- Timestamp: time.mktime() Format_string --- struct_time: time.strptime()struct_time --- Format_string: time.strftime() 2. 例子 1. 把格式化时间2018年8月8日转成时间戳时间
str_time 2018-8-8
struct_time time.strptime(str_time,%Y-%m-%d)
print(struct_time) # time.struct_time(tm_year2018, tm_mon8, tm_mday8, tm_hour0, tm_min0, tm_sec0, tm_wday2, tm_yday220, tm_isdst-1)
timestamp time.mktime(struct_time)
print(timestamp) # 1533657600.02. 把时间戳时间转成格式化时间
timestamp 1500000000
struct_time time.localtime(timestamp)
str_time time.strftime(%Y-%m-%d,struct_time)
print(str_time) # 2017-07-143. 写函数计算本月1号的时间戳时间
通过我拿到的这个时间能迅速的知道我现在所在时间的年 月
def get_timestamp():str_time time.strftime(%Y-%m-1)struct_time time.strptime(str_time,%Y-%m-%d)timestamp time.mktime(struct_time)return timestamp
ret get_timestamp()
print(ret) %y 两位数的年份表示00-99%Y 四位数的年份表示0000-9999%m 月份01-12%d 月内中的一天0-31%H 24小时制小时数0-23%I 12小时制小时数01-12%M 分钟数00-59%S 秒00-59%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天001-366%p 本地A.M.或P.M.的等价符%U 一年中的星期数00-53星期天为星期的开始%w 星期0-6星期天为星期的开始%W 一年中的星期数00-53星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身 3. python中时间日期格式化符号 二、datetime模块 1、dateime.date import datetime1. datetime.date类型(年月日)
注意datetime.date类型就是time模块的结构化时间只是它在内部把结构化时间的显示格式化了再打印出来
datetime.date.today()
datetime.date(2018, 12, 21)2.根据给定的时间戮返回一个date对象
datetime.date.fromtimestamp(timestamp) # 返回一个date对象,与datetime.date.today()作用相同
datetime.date.fromtimestamp(1528345678) # 2018-06-073.由date日期格式转化为字符串格式
datetime.date.strftime(format)datetime.date.today().strftime(%Y-%m-%d) # 2018-12-21
注意date类型没有strptime 2、datetime.dateime 注意datetime是继承了date的类
1. datetime.datetime类型(年月日时分秒微妙时区)
datetime.datetime.today()
datetime.datetime.now()datetime.datetime(2018,12, 21, 8, 12, 8, 603000)返回当前日期时间的日期部分
datetime.datetime.today().date() # 2018-12-21
返回当前日期时间的时间部分
datetime.datetime.now().time() # 15:19:16.2304492.根据给定的时间戮返回一个datetime对象
datetime.datetime.fromtimestamp() # 返回一个datetime对象,与datetime.datetime.today()作用相同
datetime.datetime.fromtimestamp(1528345678) # 2018-06-07 12:27:583. 由日期格式转化为字符串格式
datetime.datetime.strftime(format)
datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S) # 2018-12-21 09:17:143.由字符串格式转化为日期格式
datetime.datetime.strptime()
datetime.datetime.strptime(2018-12-21 11:01:27, %Y-%m-%d %H:%M:%S)4. 结构化时间元组
注意这就是结构化时间初始的样子
datetime.datetime.now().timetuple()
# time.struct_time(tm_year2018, tm_mon12, tm_mday21, tm_hour9, tm_min18, tm_sec1, tm_wday4, tm_yday355, tm_isdst-1) 3、datetime.timedelta datetime.timedelta用于计算两个日期之间的差值datetime.timedelta(weeks1) # 返回一个时间差参数weeks,days,hours,minutes,[1 weeks7 days],没有years,months例1
import datetime
day7 datetime.timedelta(days7) # 7天的时间时间隔 一年用52周表示 weeks52
today datetime.datetime.now()
# 7天之后的时间是什么
# today 7
after_7 today day7
print(after_7, type(after_7))例2
adatetime.datetime.now() # datetime.datetime(2018, 12, 21, 13, 15, 20, 871000)
bdatetime.datetime.now() # datetime.datetime(2018, 12, 21, 13, 15, 29, 603000)print(b-a) # datetime.timedelta(0, 0, 8, 732000)
print((b-a).seconds) # 8
print((b-a).total_seconds()) # 8.732
或者
time1 datetime.datetime(2018, 12, 20)
time2 datetime.datetime(2017, 11, 12)计算天数差值
print((time1-time2).days)计算两个日期之间相隔的秒数
print ((time1-time2).total_seconds()) 4、datetime.time time类有5个参数datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:301.datetime.time.replace()2.datetime.time.strftime(format):按照format格式返回时间3.datetime.time.tzname()返回时区名字4.datetime.time.utcoffset()返回时区的时间偏移量 三、时间工具dateutil 直接看例子感受时间工具的绝对时间relativedelta吧 from dateutil import relativedelta
import datetimenow datetime.datetime.today()
print(now) # 2018-12-21 15:47:31.005604# 下个月
next_month now relativedelta.relativedelta(months1)
print(next_month) # 2019-01-21 15:47:31.005604# 注意months和month的区别
# months1 表示在现在的日期基础上加一个月的时间
# months-1表示在现在的日期基础上减一个月
# month1 表示把现在的日期的月份设置为1月
# years, months, days, weeks, hours, minutes, seconds等也是跟对应的year,month,day,week...一样
set_month now relativedelta.relativedelta(month1)
print(set_month) # 2018-01-21 15:47:31.005604# 注意与datetime.timedelta区别
# datetime.timedelta没有months和years参数
# 因此一个月用weeks4表示只能表示28天后有偏差
next_month2 now datetime.timedelta(weeks4)
print(next_month2) # 2019-01-18 15:47:31.005604# 下个月加一周
next_month_week now relativedelta.relativedelta(months1, weeks1)
print(next_month_week) # 2019-01-28 15:47:31.005604# 下个月加一周上午10点
next_month_week_ten now relativedelta.relativedelta(months1, weeks1, hour10)
print(next_month_week_ten) # 2019-01-28 10:47:31.005604# 一年后的前一个月
next_year_premonth now relativedelta.relativedelta(years1, months-1)
print(next_year_premonth) # 2019-11-21 15:47:31.005604 转载于:https://www.cnblogs.com/Zzbj/p/10156501.html