python time 与datetime之间的区别与联系

简介:

一.time模块

time模块提供各种操作时间的函数

  一般有两种表示时间的方式:

  第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的

#当前时间的时间戳  

1
2
In [ 9 ]: time.time()  
Out[ 9 ]:  1376102328.536908


第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同

1
2
In [ 2 ]: time.localtime()  
Out[ 2 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 10 , tm_min = 30 , tm_sec = 47 , tm_wday = 5 , tm_yday = 222 , tm_isdst = 0 )


 gmtime()与mktime()可以将两种时间表示方法自由转换

1
2
In [ 22 ]: time.gmtime(time.time())  
Out[ 22 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 2 , tm_min = 46 , tm_sec = 54 , tm_wday = 5 , tm_yday = 222 , tm_isdst = 0 )

  

1
2
In [ 23 ]: time.mktime(time.localtime())  
Out[ 23 ]:  1376102845.0

 

strftime()可以将struct_time类型自由转换成字符型

1
2
In [ 24 ]: time.strftime( "%Y%m%d" , time.localtime())  
Out[ 24 ]:  '20130810'


strptime(string, format) 将时间字符串根据指定的格式化符转换成数组形式的时间

1
2
In [ 26 ]: time.strptime( '20130810' "%Y%m%d" )  
Out[ 26 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 0 , tm_min = 0 , tm_sec = 0 , tm_wday = 5 , tm_yday = 222 , tm_isdst = - 1 )

注意,不能直接将时间戳转换为字符串,时间串也不能直接转换为时间戳,只能通过localtime,利用mktime方法来转


二.datetime模块

1
2
In [ 27 ]: datetime.datetime.now()  
Out[ 27 ]: datetime.datetime( 2013 8 10 10 56 10 611490 )


strftime方法,可以将一个datetime型日期转换成字符串

1
2
In [ 28 ]: datetime.datetime.now().strftime( "%Y%m%d" )  
Out[ 28 ]:  '20130810'

datetime.strptime(date_string, format):将格式字符串转换为datetime对象

1
2
In [ 30 ]: datetime.datetime.strptime( "20130810" "%Y%m%d" )  
Out[ 30 ]: datetime.datetime( 2013 8 10 0 0 )


三.计算当前时间的前1天

1
one_day_before  =  datetime.datetime.today()  -  datetime.timedelta(days = 1 )

天:days

小时:hours

分钟:minutes


四.time与datetime之间的互相转换

time 转为datetime

1
2
=  time.time()
datetime.datetime.fromtimestamp(a)

datetime 转为time

1
2
=  datetime.datetime.now()
time.mktime(b.timetuple())



参考:http://iam42.iteye.com/blog/1922875

   http://blog.csdn.net/hong201/article/details/3193121




      本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1760596,如需转载请自行联系原作者





相关文章
|
14小时前
|
存储 Python
Python中encode和encoding的区别
Python中encode和encoding的区别
42 0
|
14小时前
|
开发者 索引 Python
【Python 基础】remove、del和pop有什么区别?
【5月更文挑战第8天】【Python 基础】remove、del和pop有什么区别?
|
14小时前
|
存储 Python
【Python 基础】“func”和“ func()”有什么区别?
【5月更文挑战第6天】【Python 基础】“func”和“ func()”有什么区别?
|
14小时前
|
Python
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
14小时前
|
Python
【Python 基础】“is”和“==”有什么区别?
【5月更文挑战第6天】【Python 基础】“is”和“==”有什么区别?
|
14小时前
|
Python
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
14小时前
|
Python
在Python Web开发过程中:`is`和`==`在Python中的区别是什么?
【4月更文挑战第25天】Python的`is`与`==`用于比较。`is`检查对象是否相同(内存地址一致),而`==`检查值是否相等。例如,`a = [1, 2, 3]`,`b = a`,`c = [1, 2, 3]`,则`a is b`和`a == b`均为True,但`a is c`为False,`a == c`为True,因`a`和`b`引用同一对象,而`a`和`c`值虽等但对象不同。
12 1
|
14小时前
|
XML 存储 数据处理
tsv、csv、xls等文件类型区别及处理(python版)
tsv、csv、xls等文件类型区别及处理(python版)
|
14小时前
|
Python
Python中continue和break的区别
Python的`continue`和`break`关键字用于控制循环流程。`continue`跳过当前迭代的剩余代码,进入下一次循环,常用于忽略某些特定迭代。而`break`则终止当前循环,直接退出循环体。两者都只能在循环中使用,选择使用哪个取决于具体需求,以实现更简洁高效的代码。了解它们的区别有助于更好地控制循环流程。
15 0
|
14小时前
|
大数据 Python
Python3 和 python2 有什么区别
Python2与Python3关键差异:Python3强制使用Unicode,整数除法返回浮点数,print函数需括号,内置函数更多返回迭代器,且不兼容Python2。这些变化影响编程实践。
8 1