常用时间转换及处理函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import datetime # 获取当前时间 d1 = datetime.datetime.now() print d1 # 当前时间加上半小时 d2 = d1 + datetime.timedelta(hours = 0.5 ) print d2 # 格式化字符串输出 d3 = d2.strftime( '%Y-%m-%d %H:%M:%S' ) print d3 # 将字符串转化为时间类型 d4 = datetime.datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f' ) print d4 |
获取本周和本月第一天的日期:
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
|
# -*- coding:utf-8 -*- import datetime def first_day_of_month(): ''' 获取本月第一天 :return: ''' # now_date = datetime.datetime.now() # return (now_date + datetime.timedelta(days=-now_date.day + 1)).replace(hour=0, minute=0, second=0, # microsecond=0) return datetime.date.today() - datetime.timedelta(days = datetime.datetime.now().day - 1 ) def first_day_of_week(): ''' 获取本周第一天 :return: ''' return datetime.date.today() - datetime.timedelta(days = datetime.date.today().weekday()) if __name__ = = "__main__" : this_week = first_day_of_week() last_week = this_week - datetime.timedelta(days = 7 ) this_month = first_day_of_month() last_month = this_month - datetime.timedelta(days = (this_month - datetime.timedelta(days = 1 )).day) print this_week print last_week print this_month print last_month |
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#! /usr/bin/python # coding=utf-8 import datetime """ datetime的功能强大 能支持0001年到9999年 """ """ 当前时间 返回的是一个datetime类型 now方法有个参数tz,设置时区类型。如果没有和方法today的效果一样 """ now = datetime.datetime.now() #UTC时间 datetime.datetime.utcnow() attrs = [ ( "year" , "年" ),( 'month' , "月" ),( "day" , "日" ),( 'hour' , "小时" ),( 'minute' , "分" ),( 'second' , "秒" ),( 'microsecond' , "毫秒" ),( 'min' , "最小" ),( 'max' , "最大" ), ] for k,v in attrs: "now.%s = %s #%s" % (k, getattr (now, k),v) """ 返回一个time结构 """ now.timetuple() """ 返回一个date类型 """ now.date() """ 返回一个time类型 """ now.time() """ 当前星期几。星期一是0,星期于是6 注意这里是方法,不是属性哦。 """ now.weekday() """ 当前星期几。星期一是1,星期于是7 注意这里是方法,不是属性哦。 """ now.isoweekday() """ 修改当前时间。比如修改成当月1号 """ now.replace(day = 1 ) past = datetime.datetime( 2010 , 11 , 12 , 13 , 14 , 15 , 16 ) """ 进行比较运算 返回的是timedelta类型 """ now - past """ 转成字符串 详细规则见Time篇 """ strdatetime = now.strftime( "%Y-%m-%d %H:%M:%S" ) """ 字符串生成datetime对象 """ datetime.datetime.strptime(strdatetime, "%Y-%m-%d %H:%M:%S" ) |
以上所述就是本文的全部内容了,希望大家能够喜欢。