使用之前import:
import time,datetime
下面的函数在python2.7里可以正常运行,但python2.4可能不支持某些方法。比如python2.4.3中报错:
AttributeError: type object 'datetime.datetime' has no attribute 'strptime'
格式化当前时间则为:
首选:time.strftime('%Y-%m-%d %H:%M:%S')
其次:datetime.datetime.strftime(datetime.d atetime.now(), '%Y-%m-%d %H:%M:%S')
最后:str(datetime.datetime.now())[:19]
获取日期差:
oneday = datetime.timedelta(days=1)
today = datetime.date.today()
yesterday = datetime.date.today() - oneday
tomorrow = datetime.date.today() + oneday
获取今天零点的时间:
today_zero_time = datetime.datetime.strftime(today, '%Y-%m-%d %H:%M:%S')
print today_zero_time
2013-05-21 00:00:00
获取时间差:
oneday = datetime.timedelta(days=1)
today_time = datetime.datetime.now()
yesterday_time = datetime.datetime.now() - oneday
tomorrow_time = datetime.datetime.now() + oneday
注意时间是浮点数,带毫秒。如下:
print tomorrow_time
2013-05-22 10:34:43.873844
那么要获取当前时间,需要格式化一下:
oneday = datetime.timedelta(days=1)
today_time = datetime.datetime.now()
yesterday_time = datetime.datetime.now() - oneday
tomorrow_time = datetime.datetime.now() + oneday
tomorrow_time = datetime.datetime.strftime(today_time, '%Y-%m-%d %H:%M:%S')
运行结果如下所示:
print tomorrow_time
2013-05-21 10:34:43
获取上个月最后一天:
last_month_last_day = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
字符串格式转秒数:
expire_time = "2013-05-21 09:50:35"
d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")
time_sec_float = time.mktime(d.timetuple())
print time_sec_float
1369101035.0
注意python里获取到的是float类型的秒数,而不是整形。如果要获得整数,可以用int(time_sec_float)
秒数转字符串:
time_sec = time.time()
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec))
python的时间转换函数搞得太抽象复杂,因此我包装了一个函数,传入字符串可以获取到时间的各种格式,传入秒数可以获取字符串格式时间(这个是很简单的),还传入两个字符串格式的时间,以计算他们的时间差。
#coding=gbk import time, datetime # 传入一个字符串格式的时间2013-05-21 14:31:23,可以得到各种格式的时间 class TIMEFORMAT: def __init__(self, time_string="1970-1-1 00:00:00"): self.time_string = self._format_time_string(time_string) def _format_time_string(self, time_string): return time.strftime("%Y-%m-%d %H:%M:%S", self.get_struct(time_string)) @property def time_struct(self): return self.get_struct(self.time_string) def get_struct(self, time_string): return time.localtime(self.get_seconds(time_string)) @property def seconds(self): return self.get_seconds(self.time_string) def get_seconds(self, time_string): d = datetime.datetime.strptime(time_string, "%Y-%m-%d %H:%M:%S") return time.mktime(d.timetuple()) def get_string(self, time_sec): return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec)) # 对于中国的时间,是1970-01-01 08:00:00 def check_diff_time(self, t1, t2): sec1 = int(self.get_seconds(t1)) sec2 = int(self.get_seconds(t2)) if sec1 > sec2: secdiff = sec1 - sec2 else: secdiff = sec2 - sec1 d = self.get_struct(self.get_string(secdiff)) day = d.tm_mday hour = d.tm_hour if d.tm_hour < 8: day -= 1 hour = 24 + (d.tm_hour - 8) else: hour = d.tm_hour - 8 return { "year" :d.tm_year - 1970, "month" :d.tm_mon - 1, "day" : day - 1, "hour" : hour, "min" : d.tm_min, "sec" : d.tm_sec, } if __name__ == "__main__": t1 = TIMEFORMAT("2015-04-01 12:23:23") t2 = TIMEFORMAT("2014-03-10 22:23:23") print t1.seconds print t2.seconds d = t1.check_diff_time(t1.time_string, t2.time_string) print "%s 和 %s 时间差为:%s年%s月%s天%s小时%s分%s秒" %(t1.time_string, t2.time_string, d["year"], d["month"], d["day"], d["hour"], d["min"], d["sec"])
相关推荐
格式化函数解析,明确确定格式化函数所需要的参数,位置
本文实例总结了python中日期和时间格式化输出的方法。分享给大家供大家参考。具体分析如下: python格式化日期时间的函数为datetime.datetime.strftime();由字符串转为日期型的函数为:datetime.datetime.strptime...
本文实例讲述了Python简单格式化时间的方法,分享给大家供大家参考,具体如下: walker经常用到当前时间和相对时间,用来统计程序执行的效率,简单记一下,便于copy。 >>> import time >>> startTime = time.time()...
您可能感兴趣的文章:python日期时间转为字符串或者格式化输出的实例python中日期和时间格式化输出的方法小结Python 时间操作例子和时间格式化参数小结Python简单格式化时间的方法【strftime函数】python 时间戳与...
格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读。输出尽可能放在一行上,分解为多行时则需要缩进。 以下实例用用到的data包含一下数据 data = [(1,{'a':'A','b':'B','c':'C','...
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间 时间间隔是以秒为单位的浮点小数。 每个时间戳都以自从 1970 年 1 月 1 日午夜(历元)经过了多长时间来表示。;time 模块下有很多函数可以转换...
time.mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数。如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。;5、time.sleep...
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。 时间元组(struct_time),包含9个元素。 time....
Python中的列表(List)和元组(Tuple)有什么区别? 什么是Python中的装饰器(Decorator)?如何使用装饰器? Python中的生成器...Python中如何进行字符串格式化? 什么是Python中的面向对象编程(OOP)?列
/usr/bin/python import time #取一天前的当前具体时间 time.strftime(‘%Y-%m-%d %T’,time.localtime(time.time()-24*60*60)) #取15天前的当前具体时间 time.strftime(‘%Y-%m-%d %T’,time.localtime(time...
在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利。与之前的%型格式化字符串相比,他显得更为方便与优越。下面我们就来看看format的具体用法。 1、常见的用法 二话不说,首先上代码,看看...
Python中常用的输入输出语句是input()和print(),分别用于接收用户输入和输出程序结果。 1. input()函数可以接收用户输入的数据,并将其存储在一个变量中,如:name = input("请输入您的姓名:") 2. 如果需要输入多...
主要介绍了python3字符串格式化format()函数的简单用法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
Python常用数据结构和公共方法技巧总结 目录 • 1. 列表 • 1.1 列表的定义 ...• 4.4 字符串的格式化输出 • 5. 公共方法 • 5.1 Python 内置函数 • 5.2 切片 • 5.3 运算符 5.4 完整的 for 循环语法
4. format(12.3654,’6.2f’/’0.3%’)函数:实现格式化输出 5. type()函数:查询对象的类型 6. int()函数、float()函数、str()函数等:类型的转化函数 7. id()函数:获取对象的内存地址 8. help()函数:Python的...
本文实例讲述了Python格式化日期时间的方法。分享给大家供大家参考,具体如下: 常用的时间函数如下 获取当前日期:time.time() 获取元组形式的时间戳:time.local(time.time()) 格式化日期的函数(基于元组的形式...
主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下
主要介绍了详解Python中的format格式化函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧