在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 |
计算时间前后的时间差:
cur=datetime.datetime.now()
time.sleep(10)
now=datetime.datetime.now()
print ((now-cur).seconds / 60)
time.sleep(10)
now=datetime.datetime.now()
print ((now-cur).seconds / 60)