Python日期操作学习笔记

1054次阅读  |  发布于5年以前

比如用 print ','.join(datelist)
就可以将datelist列表里面的所有项目并成一个字符串,当然这个表达式会在每一个项目中间插入一个逗号,这种方式比用循环的方式更简洁。
日期的操作必须使用time或datetime库
import time

s="2006-1-2"
time.strptime(s,"%Y-%m-%d)
这是将字符串格式的日期及时间转成日期对象
转义符对应意义如下
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%j 年内的一天(001-366)
%m 月份(01-12)
%M 分钟数(00=59)
%p 本地A.M.或P.M.的等价符
%S 秒(00-59)
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%Z 当前时区的名称
%% %号本身

-- coding:utf-8 --

import time
import datetime

2007-11-25 15:36:35

使用datetime模块可以很方便的解决这个问题,举例如下:

d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)

结果:47

print (d1 - d2).days

上例演示了计算两个日期相差天数的计算。

starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print (endtime - starttime).seconds

上例演示了计算运行时间的例子,以秒进行显示。

d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)
print str(d3)
print d3.ctime()

上例演示了计算当前时间向后10天的时间。

如果是小时 days 换成 hours

其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。

每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;

timedelta可以查看:天数(days),秒数(seconds) 等。

time , datetime , string 类型互相转换

string -> time

time.strptime(publishDate,"%Y-%m-%d %H:%M:%S")

time -> string

time.strftime("%y-%m-%d",t)

date = '2007-01-01'
print type(date)
date = time.strptime(date,"%Y-%m-%d")
print type(date)
print date[0]
d4 = datetime.datetime(date[0], date[1],date[2])
print d4
print type(d4)

将日期时间对象转成字符串则要用

date = time.strftime("%y-%m-%d",date)
print type(date)

其中d为日期时间对象

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8