小编给大家分享一下python中datetime模块的使用方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
datetime是python处理日期和时间的标准库。
<强>获取当前日期和时间强>
我们先看如何获取当前日期和时间:
在祝辞祝辞从datetime进口datetime 在在在现在=datetime.now() #获取当前datetime 在在在打印(现在) 2015-05-18 16:28:07.198690 在在在print(类型(现在)) & lt;类& # 39;datetime.datetime& # 39;在
注意到<代码> datetime> 代码是模块,<代码> datetime 代码>模块还包含一个<代码> datetime> 代码类,通过<代码>从datetime进口datetime> 代码导入的才是<代码> datetime 代码>这个类。
如果仅导入<代码>进口datetime> 代码,则必须引用全名<代码> datetime.datetime> 代码。
<代码> datetime.now() 代码>返回当前日期和时间,其类型是<代码> datetime 代码>。
<强>获取指定日期和时间强>
要指定某个日期和时间,我们直接用参数构造一个datetime <代码> 代码>:
在祝辞祝辞从datetime进口datetime 在在在dt=datetime(12 2015, 19日,20)#用指定日期时间创建datetime 在在在打印(dt) 2015-04-19 12:20:00
<强> datetime转换为时间戳强>
在计算机中,时间实际上是用数字表示的。我们把1970年1月1日就是UTC + 00:00时区的时刻称为时代,记为0(1970年以前的时间时间戳为负数),当前时间就是相对于时代时间的秒数,称为时间戳。
你可以认为:
时间戳=0=1970-1-1就是UTC + 0:00
对应的北京时间是:
时间戳=0=1970-1-1 08:00:00 UTC + 8点
可见时间戳的值与时区毫无关系,因为时间戳一旦确定,其UTC时间就确定了,转换到任意时区的时间也是完全确定的,这就是为什么计算机存储的当前时间是以时间戳表示的,因为全球各地的计算机在任意时刻的时间戳都是完全相同的(假定时间已校准)。
把一个datetime <代码> 代码>类型转换为时间戳只需要简单调用<代码>时间戳()代码>方法:
在祝辞祝辞从datetime进口datetime 在在在dt=datetime(12 2015, 19日,20)#用指定日期时间创建datetime 在在在dt.timestamp() #把datetime转换为时间戳 1429417200.0
注意Python的时间戳是一个浮点数。如果有小数位,小数位表示毫秒数。
某些编程语言(如Java和JavaScript)的时间戳使用整数表示毫秒数,这种情况下只需要把时间戳除以1000年就得到Python的浮点表示方法。
<强>时间戳转换为datetime 强>
要把时间戳转换为<代码> datetime> 代码,使用<代码> datetime> 代码提供的<代码> fromtimestamp() 代码>方法:
在祝辞祝辞从datetime进口datetime 在在在t=1429417200.0 在在在打印(datetime.fromtimestamp (t)) 2015-04-19 12:20:00
注意到时间戳是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在时间戳和本地时间做转换。
本地时间是指当前操作系统设定的时区。例如北京时区是东八区,则本地时间:
2015-04-19 12:20:00
引用>实际上就是UTC + 8点时区的时间:
2015-04-19 12:20:00 UTC + 8点
引用>而此刻的格林威治标准时间与北京时间差了八个小时,也就是UTC + 0:00时区的时间应该是:
2015-04-19 04:20:00 UTC + 0:00
引用>时间戳也可以直接被转换到UTC标准时区的时间:
在祝辞祝辞从datetime进口datetime 在在在t=1429417200.0 在在在打印(datetime.fromtimestamp (t)) #本地时间 2015-04-19 12:20:00 在在在打印(datetime.utcfromtimestamp (t)) # UTC时间 2015-04-19 04:20:00<强> str转换为datetime 强>
很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:
在祝辞祝辞从datetime进口datetime 在在在cday=datetime.strptime (& # 39; 2015-6-1 18:19:59& # 39;, & # 39; Y % - % - % d % H: % m: % & # 39;) 在在在打印(cday) 2015-06-01 18:19:59字符串<代码> & # 39;Y % - % - % d % H: % m: % & # 39; 代码>规定了日期和时间部分的格式。详细的说明请参考Python文档。
注意转换后的datetime是没有时区信息的。
<强> datetime转换为str
python中datetime模块的使用方法