Python日期时间模块
在本文中,我们将查看PythondateTime模块。我们将学习如何创建当前时间,如何计算时间间隔,以及如何产生时间差异。根据Python文档 :
pythondatetime模块提供了以简单和复杂的方式操作日期和时间的类。
因此,Pythondatetime模块包含几个类。让我们逐一讨论。
Pythondatetime模块:datetime.datetime
让我们讨论如何使用DateTime.datetime班级,等级。
Datetime.datetime.今天()
datetime.datetime.today() 今天的日期。参见下面的示例。
<code>>>> print datetime.datetime.today()
2018–08–19 22:49:24.169000/<code>
Datetime.Now()
datetime.datetime.now() 显示的输出与datetime.datetime.today() .
<code>>>> print datetime.datetime.now()
2018–08–19 22:49:51.541000/<code>
但是如果你提供时区datetime.datetime.now()返回指定时区的当前时间。
如果在字符串中提供时区信息,则解释器将引发错误。
datetime.strptime(Date_String,Format)
这个datetime.strptime(date_string, format)取走date_string,将其格式化为参数,并返回datetime对象。如下所示。
stftime(格式)
这个strftime(format)控件生成格式化日期。datetime对象。
<code>>>> print datetime.datetime.now().strftime(“%d %b, %Y”)
22 Aug, 2018/<code>
时间()
此方法将秒转换为以下形式的24个字符串:“Mon Jun 20 23:21:05 1994”。
<code>>>> datetime.datetime.now().ctime()
‘Thu Aug 23 00:07:28 2018’
>>>/<code>
等格式()
isoformat()返回一个字符串,表示ISO 8601格式的日期‘YYYYY-MM-DD’。例如:
日期时间
<code>>>> datetime.datetime.now().isoformat()
‘2018–08–23T00:11:32.393000’
>>>/<code>
日期时间
现在我们来讨论一下datetime.date班级,等级。
日期时间。今天()
此方法返回今天的日期。例如:
<code>>>> import datetime
>>> print datetime.datetime.today()
2018–08–23 23:18:22.044000
>>>/<code>
从时间戳()
此方法将Unix邮票或纪元转换为日期。例如:
datetime.timeDelta
datetime.timedelta 用于在两个日期或时间之间创建时间差。
这个datetime.timedelta 类接受关键字参数。根据Python文档 :
所有参数都是可选的,默认为0。参数可以是整数、长参数或浮动参数,也可以是正的或负的。内部只存储天、秒和微秒。参数被转换为这些单位。
让我们为Delta做不同的练习。
让我们创建一个10秒的时间增量。
<code>>>> import datetime
>>> delta1=datetime.timedelta(seconds=10)/<code>
接下来,我们将从当前时间减去时间增量。
现在,我们将时间增量添加到当前时间。
让我们再做一次更完整的练习。
- 创建一个Unix时间意味着10天前的一个时代。
- 10天后创建一个Unix时间。
让我们一步地走
<code>>>> import datetime
>>> import time/<code>
为时间差创建两个三角洲,一个用于10天前,另一个用于10天后。
<code>>>> delta1=datetime.timedelta(days=10)
>>> delta2=datetime.timedelta(days=-10)/<code>
将两个三角洲添加到当前时间。
为了删除浮点数的使用,strftime方法已被使用。
<code>>>> date1 = ten_days_ago.strftime( “%Y-%m-%d %H:%M:%S” )
>>> date1
‘2018–08–14 23:09:04’/<code>
当我们使用该模块时,Unix时间或时代已经创建。
Python日历模块
现在,我们将使用日历模块打印特定月份的日历。为了打印一个特定的月份,calendar.month(year, month) 将要如下图所示。
让我们打印2018年的日历。
<code>>>> import calendar
>>> print calendar.calendar(2018)/<code>
考虑一下你是否想知道某个特定的年份是否是闰年。你可以用calendar.isleap(year) .参见下面的示例。
考虑一下,如果您想要找出在y1到y2范围内的闰年数。参见下面的示例。
去年不包括在范围内。
考虑到你想知道在不同国家的时间。默认情况下,与时间相关的模块根据时区返回时间。让我们看看如何从不同的国家获得时间。
<code>>>> import datetime
>>> import pytz/<code>
让我们检查一下“美国/东方”的当前时间。
<code>>>> print datetime.datetime.now(pytz.timezone(‘US/Eastern’))
2018–08–25 14:25:34.712000–04:00
>>>/<code>
让我们看看目前在印度加尔各答的时间。
<code>>>> print datetime.datetime.now(pytz.timezone(‘Asia/Kolkata’))
2018–08–25 23:56:40.564000+05:30/<code>
如果不知道时区的名称,则可以使用国家名称搜索时区。
<code>>>> pytz.country_timezones.get(“NZ”)
[u’Pacific/Auckland’, u’Pacific/Chatham’]
>>>/<code>
新西兰有两个时区。
让我们看看印度时区的名称。
<code>>>> pytz.country_timezones.get(“IN”)
[u’Asia/Kolkata’]
>>>
pytz.country_timezones.keys()/<code>
上一行返回国家缩写列表,如下所示。
[U‘BD’,u‘Be’,u‘BF’,u‘BG’,u‘ba’,u‘BB’,u‘WF’,u‘BL’,u‘BM’,u‘bb’,u‘BO’,u‘BH’,u‘bi’,u‘bj’,u‘BT’,u‘jm’,u‘bw’,u‘ws’,u‘bq’,u‘br’,u‘bs’,u‘je’,u‘by’等等。).]
如果您想确认“in”是否属于印度或其他国家(如伊朗),您可以使用pytz.country_names.get( ‘IN’ ) .
<code>>>> print (pytz.country_names.get( ‘IN’ ) )
#Prints "India"/<code>
如果要检查所有国家及其缩写,请使用以下代码:
<code>>>> for each in pytz.country_names.iteritems():
… print each
…
(u’BD’, u’Bangladesh’)
(u’BE’, u’Belgium’)
(u’BF’, u’Burkina Faso’)
(u’BG’, u’Bulgaria’)/<code>
我希望你喜欢这篇文章!
閱讀更多 愛編程的大美妞 的文章