Python初学者教程:与日期时间相关的模块


Python初学者教程:与日期时间相关的模块

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()返回指定时区的当前时间。

Python初学者教程:与日期时间相关的模块

如果在字符串中提供时区信息,则解释器将引发错误。

Python初学者教程:与日期时间相关的模块

datetime.strptime(Date_String,Format)

这个datetime.strptime(date_string, format)取走date_string,将其格式化为参数,并返回datetime对象。如下所示。

Python初学者教程:与日期时间相关的模块

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邮票或纪元转换为日期。例如:

Python初学者教程:与日期时间相关的模块

datetime.timeDelta

datetime.timedelta 用于在两个日期或时间之间创建时间差。

这个datetime.timedelta 类接受关键字参数。根据Python文档 :

所有参数都是可选的,默认为0。参数可以是整数、长参数或浮动参数,也可以是正的或负的。内部只存储天、秒和微秒。参数被转换为这些单位。

让我们为Delta做不同的练习。

让我们创建一个10秒的时间增量。

<code>>>> import datetime
>>> delta1=datetime.timedelta(seconds=10)/<code>

接下来,我们将从当前时间减去时间增量。

Python初学者教程:与日期时间相关的模块

现在,我们将时间增量添加到当前时间。

Python初学者教程:与日期时间相关的模块

让我们再做一次更完整的练习。

  1. 创建一个Unix时间意味着10天前的一个时代。
  2. 10天后创建一个Unix时间。

让我们一步地走

<code>>>> import datetime
>>> import time/<code>

为时间差创建两个三角洲,一个用于10天前,另一个用于10天后。

<code>>>> delta1=datetime.timedelta(days=10)
>>> delta2=datetime.timedelta(days=-10)/<code>

将两个三角洲添加到当前时间。

Python初学者教程:与日期时间相关的模块

为了删除浮点数的使用,strftime方法已被使用。

<code>>>> date1 = ten_days_ago.strftime( “%Y-%m-%d %H:%M:%S” ) 

>>> date1
‘2018–08–14 23:09:04’/<code>

当我们使用该模块时,Unix时间或时代已经创建。

Python初学者教程:与日期时间相关的模块

Python日历模块

现在,我们将使用日历模块打印特定月份的日历。为了打印一个特定的月份,calendar.month(year, month) 将要如下图所示。

Python初学者教程:与日期时间相关的模块

让我们打印2018年的日历。

<code>>>> import calendar
>>> print calendar.calendar(2018)/<code>

考虑一下你是否想知道某个特定的年份是否是闰年。你可以用calendar.isleap(year) .参见下面的示例。

Python初学者教程:与日期时间相关的模块

考虑一下,如果您想要找出在y1到y2范围内的闰年数。参见下面的示例。

Python初学者教程:与日期时间相关的模块

去年不包括在范围内。

考虑到你想知道在不同国家的时间。默认情况下,与时间相关的模块根据时区返回时间。让我们看看如何从不同的国家获得时间。

<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>

我希望你喜欢这篇文章!



分享到:


相關文章: