CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准。C系列认证历经近一年的实际线下调研、考察、迭代、测试,并梳理出软件工程师开发过程中所需的各项技术技能,结合企业招聘需求和人才应聘痛点,基于公开、透明、公正的原则,甑别人才时确保真实业务场景、全部上机实操、所有过程留痕、存档不可篡改。
我们每天将都会精选CSDN站内技术文章供大家学习,帮助大家系统化学习IT技术。
Python -- 日期时间函数
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。本文主要是对这两个模块的函数进行详细介绍。
一、时间函数
在Python中,通常有如下几种方式表示时间:
(1)时间戳;
(2)格式化的时间字符串;
(3)时间元祖(struct_time);
(1)、时间戳
通常来讲,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回时间戳函数主要有time()、clock()等。
实例:
import time
ticks = time.time()
print("当前时间戳为:",ticks)
>>>1524705721.8369513
(2)、格式化的时间字符串
可以使用time模块的strftime方法来格式化日期,格式如下;
实例:
import time
#格式化成2017-10-10 12:01:12形式
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
#格式化成Sat Mar 28 22:24:25 2016形式
print(time.strftime("%a %b %d %H:%M:%S %Y",time.localtime()))
#讲格式化字符串转为时间戳
a = "Sat Mar 28 22:24:25 2016"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
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 当前时区的名称
- %% %号本身
(3)、时间元组(struct_time)
返回struct_time的函数主要有gmtime()、localtime()和strptime(),struct_time元组共有九个元素,我们通过一张表来列出元组中的这些元素。
序号属性值0tm_year20081tm_mon1 到 122tm_mday1 到 313tm_hour0 到 234tm_min0 到 595tm_sec0 到 61 (60或61 是闰秒)6tm_wday0到6 (0是周一)7tm_yday一年中的第几天,1 到 3668tm_isdst是否为夏令时,值有:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1
实例:
import time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
time localtime = time.localtime(time.time()) print ("本地时间为 :", localtime)
本地时间为 : time.struct_time(tm_year=2018, tm_mon=4, tm_mday=26, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)
: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=26, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)
Time 模块包含了以下内置函数,既有时间处理的,也有转换时间格式的:
序号函数及描述实例1time.altzone 返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。
以下实例展示了 altzone()函数的使用方法:
-
>>> import time
-
>>> print ("time.altzone %d " % time.altzone)
-
time.altzone -28800
以下实例展示了 asctime()函数的使用方法:
-
>>> import time
-
>>> t = time.localtime()
-
>>> print ("time.asctime(t): %s " % time.asctime(t))
-
time.asctime(t): Thu Apr 7 10:36:20 2016
以下实例展示了 ctime()函数的使用方法:
-
>>> import time
-
>>> print ("time.ctime() : %s" % time.ctime())
-
time.ctime() : Thu Apr 7 10:51:58 2016
以下实例展示了 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)
以下实例展示了 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)
以下实例展示了 sleep()函数的使用方法:
-
#!/usr/bin/python3
-
import time
-
print ("Start : %s" % time.ctime())
-
time.sleep( 5 )
-
print ("End : %s" % time.ctime())
以下实例展示了 strftime()函数的使用方法:
-
>>> import time
-
>>> print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
-
2016-04-07 11:18:05
以下实例展示了 strftime()函数的使用方法:
-
>>> 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)
以下实例展示了 time()函数的使用方法:
-
>>> import time
-
>>> print(time.time())
-
1459999336.1963577
Time模块包含了以下2个非常重要的属性:
序号属性及描述1time.timezone 属性time.timezone是当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?