常用时间转换及处理函数:
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" )
|
以上所述就是本文的全部内容了,希望大家能够喜欢。