一个因为time/datetime引发的血案

来源:互联网 发布:js实现烟花的原理 编辑:程序博客网 时间:2024/05/17 22:56

下面这个是求从凌晨到现在过去了多少秒。

import timeimport datetime# def today_seconds():#     return (time.time()-time.timezone)%86400# print(today_seconds())

因为发现对时间datetime和time还不是很熟悉,我就上网找了一下这方面的资料,
http://www.cnblogs.com/snow-backup/p/5063665.html
没有测试,只是发现作者的代码有好几处貌似都出现了问题。因为原作者使用的是python2x版本的。我使用的是3.5.也不确定。也走了点弯路。下面是用python3.5版本运行的关于time/datetime的代码,代码全都经过运行!!!

1、当前时间

import timeprint(time.time())#1507640962.9165912print(time.localtime(time.time()))#time.struct_time(tm_year=2017, tm_mon=10, tm_mday=10,#tm_hour=21, tm_min=9, tm_sec=22, tm_wday=1, tm_yday=283, tm_isdst=0)print(time.strftime('%Y-%m-%d %H-%M-%S',time.localtime(time.time())))#2017-10-10 21-09-22  #请注意,这个是当前的系统时间。当前东八区时间。from datetime import datetimeprint(datetime.now())#2017-10-10 21:09:22.916591print(datetime.today())#2017-10-10 21:09:22.916591now = datetime.now()print(now.year,now.month,now.day,now.hour,now.minute,now.second,now.microsecond)#2017 10 10 21 9 22 916591print(now.isocalendar())#(2017, 41, 2)#2017年第41周。时间过得好快。print(now.isoweekday())#2,星期二

2、日期字符串–>日期

import datetimes = '2017-10-10 21:14:30'timeTuple = datetime.datetime.strptime(s,"%Y-%m-%d %H:%M:%S")print(type(timeTuple),timeTuple)#<class 'datetime.datetime'> 2017-10-10 21:14:30print(datetime.datetime.strftime(timeTuple,"%Y/%m/%d %H:%M:%S"))#<class 'datetime.datetime'> 2017-10-10 21:14:30

3、日期相加减

now = datetime.datetime.now() # datetime.datetime(2015, 12, 16, 15, 6, 37, 420000)dayOfweek = datetime.datetime.isoweekday(now)if dayOfweek == 1: # Monday    last_time = now + datetime.timedelta(days=-3)    print(last_time)else:    last_time = now + datetime.timedelta(days=-1)    print(last_time)

4.时间戳

timestamp = time.mktime(time.strptime(s,"%Y-%m-%d %H:%M:%S"))#1507641270.0timestuple = time.gmtime(timestamp)print(repr(timestuple))  #timestuple to time tuple in UTC 这个是utc时间。#time.struct_time(tm_year=2017, tm_mon=10, tm_mday=10, tm_hour=13, tm_min=14, tm_sec=30, tm_wday=1, tm_yday=283, tm_isdst=0)time_tuple = time.localtime(timestamp)print(repr(time_tuple))#这个是本地时间。#time.struct_time(tm_year=2017, tm_mon=10, tm_mday=10, tm_hour=21, tm_min=14, tm_sec=30, tm_wday=1, tm_yday=283, tm_isdst=0)
原创粉丝点击