获取当前时间

从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。

1 #!/usr/bin/python3

2

3 importtime4

5 localtime =time.localtime(time.time())6 print ("本地时间为 :", localtime)

View Code

以上实例输出结果:

本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)

获取格式化的时间

你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime():

1 #!/usr/bin/python3

2

3 importtime4

5 localtime =time.asctime( time.localtime(time.time()) )6 print ("本地时间为 :", localtime)

View Code

以上实例输出结果:

本地时间为 : Thu Apr 7 10:29:13 2016

格式化日期

我们可以使用 time 模块的 strftime 方法来格式化日期,:

1 time.strftime(format[, t])2 #!/usr/bin/python3

3

4 importtime5

6 #格式化成2016-03-20 11:45:39形式

7 print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))8

9 #格式化成Sat Mar 28 22:24:24 2016形式

10 print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))11

12 #将格式字符串转换为时间戳

13 a = "Sat Mar 28 22:24:24 2016"

14 print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))

View Code

以上实例输出结果:

2016-04-07 10:29:46

Thu Apr 07 10:29:46 2016

1459175064.0

python中时间日期格式化符号:

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

获取某月日历

Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:

1 #!/usr/bin/python3

2

3 importcalendar4

5 cal = calendar.month(2016, 1)6 print ("以下输出2016年1月份的日历:")7 print (cal)

View Code

以上实例输出结果:

以下输出2016年1月份的日历:

January 2016

Mo Tu We Th Fr Sa Su

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

Time 模块

Time 模块包含了以下内置函数,既有时间处理的,也有转换时间格式的:

序号函数及描述实例

1

time.altzone

返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。

以下实例展示了 altzone()函数的使用方法:

>>> import time

>>> print ("time.altzone %d " % time.altzone)

time.altzone -28800

2

time.asctime([tupletime])

接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

以下实例展示了 asctime()函数的使用方法:

>>> import time

>>> t = time.localtime()

>>> print ("time.asctime(t): %s " % time.asctime(t))

time.asctime(t): Thu Apr 7 10:36:20 2016

3

time.clock()

用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

由于该方法依赖操作系统,在 Python 3.3 以后不被推荐,而在 3.8 版本中被移除,需使用下列两个函数替代。

time.perf_counter() # 返回系统运行时间

time.process_time() # 返回进程运行时间

4

time.ctime([secs])

作用相当于asctime(localtime(secs)),未给参数相当于asctime()

以下实例展示了 ctime()函数的使用方法:

>>> import time

>>> print ("time.ctime() : %s" % time.ctime())

time.ctime() : Thu Apr 7 10:51:58 2016

5

time.gmtime([secs])

接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0

以下实例展示了 gmtime()函数的使用方法:

>>> import time

>>> print ("gmtime :", time.gmtime(1455508609.34375))

gmtime : time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0)

6

time.localtime([secs]

接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。

以下实例展示了 localtime()函数的使用方法:

>>> import time

>>> print ("localtime(): ", time.localtime(1455508609.34375))

localtime(): time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=11, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0)

7

time.mktime(tupletime)

接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。

8

time.sleep(secs)

推迟调用线程的运行,secs指秒数。

以下实例展示了 sleep()函数的使用方法:

#!/usr/bin/python3

import time

print ("Start : %s" % time.ctime())

time.sleep( 5 )

print ("End : %s" % time.ctime())

9

time.strftime(fmt[,tupletime])

接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。

以下实例展示了 strftime()函数的使用方法:

>>> import time

>>> print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

2016-04-07 11:18:05

10

time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

根据fmt的格式把一个时间字符串解析为时间元组。

以下实例展示了 strptime()函数的使用方法:

>>> import time

>>> struct_time = time.strptime("30 Nov 00", "%d %b %y")

>>> print ("返回元组: ", struct_time)

返回元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

11

time.time( )

返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

以下实例展示了 time()函数的使用方法:

>>> import time

>>> print(time.time())

1459999336.1963577

12

time.tzset()

根据环境变量TZ重新初始化时间相关设置。

13

time.perf_counter()

返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间。由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的。

14

time.process_time()

返回当前进程执行 CPU 的时间总和,不包含睡眠时间。由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的。

Time模块包含了以下2个非常重要的属性:

序号属性及描述

1

time.timezone

属性time.timezone是当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。

2

time.tzname

属性time.tzname包含一对根据情况的不同而不同的字符串,分别是带夏令时的本地时区名称,和不带的。

日历(Calendar)模块

此模块的函数都是日历相关的,例如打印某月的字符月历。

星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。模块包含了以下内置函数:

序号函数及描述

1

calendar.calendar(year,w=2,l=1,c=6)

返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。

2

calendar.firstweekday( )

返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。

3

calendar.isleap(year)

是闰年返回 True,否则为 false。

>>>importcalendar

>>>print(calendar.isleap(2000))True>>>print(calendar.isleap(1900))False

4

calendar.leapdays(y1,y2)

返回在Y1,Y2两年之间的闰年总数。

5

calendar.month(year,month,w=2,l=1)

返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。

6

calendar.monthcalendar(year,month)

返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。

7

calendar.monthrange(year,month)

返回两个整数。第一个是该月的星期几,第二个是该月有几天。星期几是从0(星期一)到 6(星期日)。

>>>importcalendar

>>>calendar.monthrange(2014,11)(5,30)

(5, 30)解释:5 表示 2014 年 11 月份的第一天是周六,30 表示 2014 年 11 月份总共有 30 天。

8

calendar.prcal(year,w=2,l=1,c=6)

相当于 print calendar.calendar(year,w,l,c).

9

calendar.prmonth(year,month,w=2,l=1)

相当于 print calendar.calendar(year,w,l,c)。

10

calendar.setfirstweekday(weekday)

设置每周的起始日期码。0(星期一)到6(星期日)。

11

calendar.timegm(tupletime)

和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970纪元后经过的浮点秒数)。

12

calendar.weekday(year,month,day)

返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。

其他相关模块和函数

在Python中,其他处理日期和时间的模块还有:

python 系统时间24小时制_Python 日期和时间相关推荐

  1. JS获取当前时间(24小时制)

    JS获取当前时间(24小时制) let date=new Date(); let newdate=date.toLocaleString('chinese', { hour12: false }); ...

  2. postgresql 格式化数据库时间24小时制

    postgresql 格式化数据库时间24小时制 提出问题 解决问题 提出问题 在开发中数据库存放的时间是(2019-04-17 18:29:59.615573)样式的, 那如何在查询时把这个时间统一 ...

  3. java获取24小时制时间格式_java 日期格式时间24小时制

    按指定格式获取时间 import java.util.*; import java.text.*; public class TestDate { public static void main(St ...

  4. android 修改系统默认时间24小时制

    由于业务需求,需要将系统时间12小时制改为24小时制. 首先,我们通过setting中设置时间格式的文字信息找到这个设置项所在资源文件位置,packages/apps/Settings/res/xml ...

  5. Python时间24小时制和12小时制转换

    def ifs(hour, minute): if (int(hour) >= 6 and int(hour) <= 13) and (int(minute) >= 0 and in ...

  6. java 时间是24小时制吗_java时间24小时制

    var minute = 1000 * 60 var hour = minute * 60 var day = hour * 24 例子:当前距1970-1-1多少天 java.util.Date d ...

  7. 苹果手机怎么设置时间24小时制_手机资讯:无法激活 iMessage 等问题及解决办法汇总...

    如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道无法激活 iMessage 等问题及解决办法汇总, ...

  8. 根据12和24小时制选择不同的时间显示

    <HTML> <HEAD> <TITLE>时间日期篇--当前时间</TITLE> <meta charset="utf-8"& ...

  9. 苹果手机怎么设置时间24小时制_外媒实测苹果iPhone 12续航:5G网络下表现不佳...

    外媒Tom's Guide已经对iPhone 12和iPhone 12 Pro进行了电池测试,结果并不太理想. 与Android旗舰机相比,苹果的新手机在续航测试中败下阵来,尤其是在5G网络上. To ...

最新文章

  1. 一文看懂模糊搜索1.0到3.0的算法迭代历程
  2. [Leetcode] Copy list with random pointer 对带有任意指针的链表深度拷贝
  3. 解决LoggerFactory is not a Logback LoggerEither remove Logback or the competing implementation (class
  4. 前端学习(2905):用vite的2.0构建程序
  5. 编程之美 set 8 区间重合判断
  6. HTTP/2之服务器推送(Server Push)最佳实践
  7. jquery中的全局事件
  8. 然后再带动更多的C++人逼起来
  9. 通过字符创调用接口中实现类的方法,SpringBean自动注入,
  10. 解决办法:下列软件包有未满足的依赖关系,依赖。。。但是。。。正要被安装
  11. 实验二:递归下降语法分析
  12. 汪琪玩Excel:只复制可见单元格
  13. 简析Apache Ignite
  14. 阿里云服务器ping不通github或其他域名
  15. 为什么你一直是打工仔
  16. 公众号(服务号)申请与认证
  17. C语言中fgetc()、fgets()之间的区别
  18. 2021-2025年中国LED离线驱动器行业市场供需与战略研究报告
  19. 疫情防控大数据分析模型搭建考虑因素
  20. vue 使用Computed实现数据的动态计算

热门文章

  1. java web项目请求控制及简单漏洞防范
  2. tab切换webuploader失效的解决方法
  3. 004:2的幂次方表示
  4. luogu_1984 [SDOI2008]烧水问题
  5. cocos2dx遇到的坑1
  6. 安卓学习第一课——电话拨号器
  7. 对于引用的控件被拒绝访问的解决办法的补充(续)
  8. 使用.net framework再发布的插件发布应用程序
  9. resultmap的写法_如何向resultMap中的collection中配置的select传递条件
  10. c++的lambda表达式捕获this_贯穿 C++ 11 与 C++ 17 的 Lambda 到底是个什么?