python模块之时间模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzgbm/article/details/51863374

  在python中,无论你是想把时间戳转化为特定格式的字符串时间,还是想把字符串时间转化为时间戳,都需要先把其中一方转化为时间元祖,因此,只要了解了”时间戳,时间元祖,字符串时间”这三者,当遇到有关python时间的问题时就迎刃而解了。下面举些具体的例子:

1. 导入模块

import time
import datetime
import calendar

2. python中的时间戳(自上午12时00分,1970年1月1日(纪元)表示,单位为秒)

time.time()      #1467969480.96

3. 将时间戳转化为特定格式的字符串时间

#1. 将时间戳转化为元祖
time_tuple = time.localtime(time.time())  #time.struct_time(tm_year=2016, tm_mon=7, tm_mday=8, tm_hour=17, tm_min=25, tm_sec=31, tm_wday=4, tm_yday=190, tm_isdst=0)

#2. 将元祖转化为特定格式的字符串时间
time.strftime('%Y-%m-%d %H:%M:%S',time_tuple)   #2016-07-08 17:30:46

4. 将字符串转化为时间戳

#1. 将字符串转化为元祖
time_tuple = time.strptime("2016-07-10 10:00:00",'%Y-%m-%d %H:%M:%S') 

time_tuple2 = datetime.datetime(2016,7,1010).timetuple()

#2.将元祖转化为时间戳
time.mktime(time_tuple)   # 1468116000.0

5. 获得三天前的时间

ago_timestamp = time.time() - 3*(24*60*60)

#one
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(ago_timestamp))

#two
tmp_time =  datetime.datetime.fromtimestamp(ago_timestamp ) #datetime 形式的元祖
tmp_time.strftime("%Y-%m-%d %H:%M:%S")

#three
ago_day = (datetime.datetime.now() - datetime.timedelta(days = 3))
ago_day.strftime("%Y-%m-%d %H:%M:%S")

### 2016-07-05 17:51:16

6.获得任意两个时间差的天数

d1 = datetime.datetime(2016, 7, 8) 
d2 = datetime.datetime(2016, 5, 31)
(d1 - d2).days   #38

7. 计算当前时间向后1天10个小时的时间

d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days=1,hours=10) #datetime 类型的元祖,2016-07-10 04:05:22.820000

d3.strftime("%Y-%m-%d %H:%M:%S") #2016-07-10 04:05:22
#或者
time.strftime("%Y-%m-%d %H:%M:%S",d3.timetuple())

8.当前时间是星期几

#2016-07-10为星期日
datetime.datetime(2016, 7, 10).weekday()  # 6,说明0代表周一

time.strftime("%w",datetime.datetime(2016, 7, 10).timetuple()) #0,说明代表周一

9. 获取上个月最后一天的日期(本月的第一天减去1天)

datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1) #2016-06-30

10. 获取某个月的日历表

calendar.month(2016,7)
###########################
      July 2016
 Mo Tu We Th Fr Sa Su
              1  2  3
 4  5  6  7  8  9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30 31

python 中时间日期格式化符号:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-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 当前时区的名称
%% %号本身

猜你喜欢

转载自blog.csdn.net/wzgbm/article/details/51863374