首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。
1
2
3
|
import
datetime
import
time
import
calendar
|
1.获取到此时的准确时间
1
2
|
# 获取此时的时间
print
time.localtime()
|
1
2
|
/
/
输出格式为:
time.struct_time(tm_year
=
2015
, tm_mon
=
12
, tm_mday
=
29
, tm_hour
=
1
, tm_min
=
10
, tm_sec
=
25
, tm_wday
=
1
, tm_yday
=
363
, tm_isdst
=
0
)
|
2.获取当天的日期
1
2
3
|
# 获取当天的日期
print
datetime.datetime.now()
print
datetime.date.today()
|
3.获取昨天的日期
1
2
3
4
5
6
7
8
9
10
|
# 获取昨天的日期
def
getYesterday():
today
=
datetime.date.today()
oneday
=
datetime.timedelta(days
=
1
)
yesterday
=
today
-
oneday
print
type
(today)
# 查看获取到时间的类型
print
type
(yesterday)
return
yesterday
yesterday
=
getYesterday()
print
"昨天的时间:"
, yesterday
|
4.获取n天以前的日期
这个应该就不用给出代码了吧,稍微想想就可以得出结果了。
5.字符串转换为时间和日期
1
2
3
4
5
6
7
|
# 字符串转换为时间
def
strTodatetime(datestr,
format
):
return
datetime.datetime.strptime(datestr,
format
)
print
time.strftime(
"%Y-%m-%d"
, time.localtime())
print
strTodatetime(
"2014-3-1"
,
"%Y-%m-%d"
)
print
time.strftime(
"%Y-%m-%d %H:%M:%S"
, time.localtime())
print
strTodatetime(
"2005-2-16"
,
"%Y-%m-%d"
)
-
strTodatetime(
"2004-12-31"
,
"%Y-%m-%d"
)
|
输出结果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.获取日历相关信息
1
2
3
4
5
6
7
8
9
10
11
12
|
# 获取某个月的日历,返回字符串类型
cal
=
calendar.month(
2015
,
12
)
print
cal
calendar.setfirstweekday(calendar.SUNDAY)
# 设置日历的第一天
cal
=
calendar.month(
2015
,
12
)
print
cal
# 获取一年的日历
cal
=
calendar.calendar(
2015
)
print
cal
cal
=
calendar.HTMLCalendar(calendar.MONDAY)
print
cal.formatmonth(
2015
,
12
)
|
7.calendar模块还可以处理闰年的问题
1
2
3
|
# 判断是否闰年、两个年份之间闰年的个数
print
calendar.isleap(
2012
)
print
calendar.leapdays(
2010
,
2015
)
|
针对Python时间模块datetime\time进行详细探讨。
转义符对应意义如下
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %j 年内的一天(001-366)
- %m 月份(01-12)
- %M 分钟数(00=59)
- %p 本地A.M.或P.M.的等价符
- %S 秒(00-59)
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %Z 当前时区的名称
- %% %号本身
代码:
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
|
import
time
import
datetime
#两日期相减
d1
=
datetime.datetime(
2005
,
2
,
16
)
d2
=
datetime.datetime(
2004
,
12
,
31
)
print
(d1
-
d2).days
#运行时间:
starttime
=
datetime.datetime.now()
endtime
=
datetime.datetime.now()
print
(endtime
-
starttime).seconds
#计算当前时间向后10天的时间。
# 如果是小时 days 换成 hours
d1
=
datetime.datetime.now()
d3
=
d1 datetime.timedelta(days
=
10
)
print
str
(d3)
print
d3.ctime()
time.ctime([sec])
#把秒数转换成日期格式,如果不带参数,则显示当前的时间。
>>>
import
time
>>> time.ctime()
>>>
"Wed Jun 14 15:02:50 2006"
>>> time.ctime(
1138068452427683
)
"Sat Dec 14 04:51:44 1901"
>>>
import
time
>>> time.strftime(
"%Y-%m-%d %X"
,time.localtime())
"2011-03-15 20:42:12"
>>> time.strftime(
"%Y-%m-%d %H:%M:%S"
,time.localtime())
"2011-03-15 20:03:47"
DateTime模块
----------------------------
datetime 将日期转化为秒
>>>
import
datetime,time
>>> time.mktime(datetime.datetime(
2009
,
1
,
1
).timetuple())
1230739200.0
>>> cc
=
[
2000
,
11
,
3
,
12
,
43
,
33
]
#Attributes: year, month, day, hour, minute, second
>>> time.mktime(datetime.datetime(cc[
0
],cc[
1
],cc[
2
],cc[
3
],cc[
4
],cc[
5
]).timetuple())
973226613.0
time.time()取得当前时间;
time.localtime()取得本地时间;
time.strftime()格式化日期;
time.strptime(timeString)把字符串转化为日期;
判断输入的日期是星期几
>>> datetime.datetime(
2011
,
02
,
15
).weekday()
1
>>> datetime.datetime(
2011
,
02
,
15
).weekday()
1
>>> datetime.datetime(
2011
,
02
,
16
).weekday()
2
>>> datetime.datetime(
2011
,
02
,
17
).weekday()
3
>>>
datetime模块获取当前时间
>>> datetime.datetime.utcnow()
datetime.datetime(
2011
,
3
,
15
,
13
,
19
,
32
,
264194
)
>>> datetime.datetime.utcnow().strftime(
"%Y-%m-%d %H:%M:%S"
) 格式化
'2011-03-15 13:19:27'
>>>
|
以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。