一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

python日期时间转换程序

时间:2014-03-20 编辑:简简单单 来源:一聚教程网

先看如何将datetime类型转换成HTTP头所用的GMT时间格式的字符串(如'Thu, 19 Feb 2009 16:00:07 GMT'):

 代码如下 复制代码

import datetime
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
# 生成datetime对象的过程和我可能不同,这里是拿当前时间来生成
datetime.datetime.utcnow().strftime(GMT_FORMAT)

再看如何将GMT时间格式的字符串转换成datetime类型:

 代码如下 复制代码

TIME = 'Thu, 19 Feb 2009 16:00:07 GMT'
datetime.datetime.strptime(TIME, GMT_FORMAT)

最后,如果要增加一段时间再输出,则可以这样写(以增加10天为例):

 代码如下 复制代码

(datetime.datetime.strptime(TIME, GMT_FORMAT) + datetime.timedelta(10)).strftime(GMT_FORMAT)

其实就是使用strftime和strptime这2个方法相互转换而已。

 代码如下 复制代码

import time
print time.time()
#得到1395287736.81

print time.localtime(time.time())
#得到 time.struct_time(tm_year=2014, tm_mon=3, tm_mday=20, tm_hour=11, tm_min=55, tm_sec=36, tm_wday=3, tm_yday=79, tm_isdst=0)

print time.strftime('%Y-%m-%d %H:%I:%S',time.localtime(time.time()))
#得到 2014-03-20 12:12:46

ython3 代码示例

1)获取系统当前时间的字符串
 

 代码如下 复制代码
import datetime
def get_formated_time (pstr='%Y-%m-%d %H:%M:%S'): 
    return datetime.datetime.now().strftime(pstr)
if __name__=='__main__':
    print(get_formated_time())

2)时间相减

 

 代码如下 复制代码
from datetime import datetime
a = '12:13:50'
b = '12:28:21'
time_a = datetime.strptime(a,'%H:%M:%S')
time_b = datetime.strptime(b,'%H:%M:%S')
print (time_b - time_a).seconds

1.time.time()得到1970年到现在的时间,单位秒,有小数点 并且这个是格林威治标准时间,所有和中国有8小时的时差

2.采用time.localtime得到本地时间

3.如果要获取time.time()中国区时间秒数可以 time.time() + 8 * 3600

4. 计算时间差,可以简单的将所有时间类型转成 time.time()秒数,然后相减即可。

强大的time.strftime

下面是time.strftime的参数:
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
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 当前时区的名称
%% %号本身

热门栏目