转自:
https://www.jb51.net/article/67828.htm
https://www.cnblogs.com/wenBlog/p/6023742.html
在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢?
当然你可以使用时间模块(time module),该模块提供了各种和时间相关的函数。但是这个模块里的一些函数在某些平台里不可用。那么怎么办呢?我们
可以使用一个更高级的面向对象的接口函数:datetime。它提供了操作日期和时间的多种简单或复杂的方法。
python里使用time模块来获取当前的时间
1 2 3 |
time.strftime(format) time.strftime("%H:%M:%S") ##24小时格式 time.strftime("%I:%M:%S")## 12小时格式 |
示例
一个获取当天日期和时间的简单python程序
1 2 3 4 5 6 7 |
#!/usr/bin/python import time print (time.strftime("%H:%M:%S")) ## 12 hour format ## print (time.strftime("%I:%M:%S")) |
示例输出:
1 2 |
18:11:30 6:11:30 |
打印出当前的日期的python程序
1 2 3 4 5 |
#!/usr/bin/python import time ## dd/mm/yyyy格式 print (time.strftime("%d/%m/%Y")) |
示例输出:
11/10/2013
格式参数:
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 |
%a 星期几的简写 %A 星期几的全称 %b 月分的简写 %B 月份的全称 %c 标准的日期的时间串 %C 年份的后两位数字 %d 十进制表示的每月的第几天 %D 月/天/年 %e 在两字符域中,十进制表示的每月的第几天 %F 年-月-日 %g 年份的后两位数字,使用基于周的年 %G 年分,使用基于周的年 %h 简写的月份名 %H 24小时制的小时 %I 12小时制的小时 %j 十进制表示的每年的第几天 %m 十进制表示的月份 %M 十时制表示的分钟数 %n 新行符 %p 本地的AM或PM的等价显示 %r 12小时的时间 %R 显示小时和分钟:hh:mm %S 十进制的秒数 %t 水平制表符 %T 显示时分秒:hh:mm:ss %u 每周的第几天,星期一为第一天 (值从0到6,星期一为0) %U 第年的第几周,把星期日做为第一天(值从0到53) %V 每年的第几周,使用基于周的年 %w 十进制表示的星期几(值从0到6,星期天为0) %W 每年的第几周,把星期一做为第一天(值从0到53) %x 标准的日期串 %X 标准的时间串 %y 不带世纪的十进制年份(值从0到99) %Y 带世纪部分的十制年份 %z,%Z 时区名称,如果不能得到时区名称则返回空字符。 %% 百分号 |
使用datetime模块来获取当前的日期和时间
参数如下:
1 2 3 4 5 6 |
cur
=datetime.datetime.now() cur.hour cur.minute cur.year cur.day cur.month |
例子:
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/usr/bin/python import datetime i = datetime.datetime.now() print ("当前的日期和时间是 %s" % i) print ("ISO格式的日期和时间是 %s" % i.isoformat() ) print ("当前的年份是 %s" %i.year) print ("当前的月份是 %s" %i.month) print ("当前的日期是 %s" %i.day) print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) ) print ("当前小时是 %s" %i.hour) print ("当前分钟是 %s" %i.minute) print ("当前秒是 %s" %i.second) |
示例输出:
1 2 3 4 5 6 7 8 9 |
当前的日期和时间
= 2013-10-11 19:38:19.4545 ISO格式的日期和时间 = 2013-10-11T19:38:19.4545 当前的年份 2013 当前的月份 10 当前的日期 11 dd/mm/yyyy 格式是 11/10/2013 当前小时是 0 当前分钟是 38 当前秒是 19 |
Python中datetime常用时间处理方法
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。今天我们主要来探讨下datetime的使用方法,有需要的小伙伴可以参考下。
常用时间转换及处理函数:
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"
)
|