python时间与字符串之间的转换

python获取当前系统时间:

取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方
文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。

你可以试下下面的方式来取得当前时间的时间戳:
import time
print time.time()
输出的结果是:
1279578704.6725271

但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化时间戳为本地的时间。
输出的结果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)

现在看起来更有希望格式成我们想要的时间了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))

最后用time.strftime()方法,把刚才的一大串信息格式化成我们想要的东西,现在的结果是:
2010-07-19

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 当前时区的名称
%% %号本身 

python获取当前系统时间:

nowTime=time.localtime()

 获取当前系统日期:

nowDate=datetime.datetime(nowTime[0],nowTime[1],nowTime[2])

 日期格式转换:

baseTime="20121012" #转换成2012-10-12

mouth = baseTime[4:6]
year = baseTime[0:4]
day = baseTime[6:8]
Destime = year +"-"+mouth+"-"+day

 获取当前系统时间,并转换成字符串类型:

curTime = time.strftime("%Y-%m-%d %X", time.localtime(time.time()))

 计算给定时间delta天后或delta天前的时间:

baseTime="20121012"               #字符串日期

delta=3                                       #计算3天后的日期,如果是delta=-3,计算3天前的日期
d1 = datetime.datetime(string.atoi(baseTime[0:4]),string.atoi(baseTime[4:6]),string.atoi(baseTime[6:8]))
d2 = d1 + datetime.timedelta(days = delta)
deltaDate=d2.strftime("%Y%m%d") 

 

字符串转换成时间 string -> time 和 time  -> string  和 time ->  datetime:

date="2012-04-05"

print  type(date)                  #查看date的类型<type 'str'>

date=time.strptime(date,"%Y-%m-%d")                           #字符串string类型时间转换成time类型时间

print  type(date)                 #查看date的类型<type 'time.struct_time'>

date=time.strftime("%Y-%m-%d",date)                             #time类型时间转换成字符串string类型时间

print type(date) #查看date的类型<type 'str'>

 

date="2012-04-05"

date=time.strptime(date,"%Y-%m-%d")                            #字符串string类型时间转换成time类型时间

print type(date) #查看date的类型<type 'time.struct_time'>

date=datetime.datetime(date[0],date[1],date[2])               #time类型时间转换成datetime类型时间

print type(date) #查看date的类型<type 'datetime.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()


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值