如何在Python中获取和修改日期和时间?

举报
Yuchuan 发表于 2021/01/22 13:27:37 2021/01/22
【摘要】 Python中获取和修改日期和时间学习

时间无疑是生活各个方面的最关键因素。因此,记录和跟踪此组件变得非常重要。在Python中,可以通过其内置来跟踪日期和时间。这篇有关Python中日期和时间的文章将帮助您了解如何使用时间日期时间模块查找和修改日期和时间。

用Python处理日期和时间的模块

Python提供了时间 日期 时间模块,可帮助您轻松获取和修改日期和时间。让我们详细了解其中的每一个。

时间模块:

该模块包含使用时间执行各种操作所需的所有与时间相关的功能。它还允许您访问出于各种目的所需的几种时钟。

内置功能:

查看下表,该表描述了时间模块的一些重要内置函数。

Function Description 描述

time()

Returns the number of seconds that have passed since epoch 返回自纪元以来经过的秒数

ctime()

Returns the current date and time by taking elapsed seconds as its parameter 通过将经过的秒数作为参数返回当前日期和时间

sleep()

Stops execution of a thread for the given duration 在给定的时间内停止执行线程

time.struct_time Class

Functions either take this class as an argument or return it as output 函数将此类作为参数或将其作为输出返回

localtime()

Takes seconds passed since epoch as a parameter and returns the date and time in time.struct_time format 从纪元开始经过的秒数作为参数,并以time.struct_time格式返回日期和时间

gmtime()

Similar to localtime(), returns time.struct_time in UTC format 与localtime()类似,以UTC格式返回time.struct_time

mktime()

The inverse of localtime(). Takes a tuple containing 9 parameters and returns the seconds passed since epoch pas output localtime()的逆函数。接受包含9个参数的元组,并返回自epoch pas输出以来经过的秒数

asctime()

Takes a tuple containing 9 parameters and returns a string representing the same 接收包含9个参数的元组,并返回表示相同参数的字符串

strftime()

Takes a tuple containing 9 parameters and returns a string representing the same depending on the format code used 取一个包含9个参数的元组,并根据所使用的格式代码返回一个表示相同参数的字符串

strptime()

Parses a string and returns it in time.struct_time format 解析字符串并以time.struct_time格式返回

格式代码:

在继续使用示例解释每个功能之前,请查看所有合法格式代码

Code Description Example

%a

Weekday (short version)

Mon

%A

Weekday (full version)

Monday

%b

Month (short version)

Aug

%B

Month (full version)

August

%c

Local date and time version

Tue Aug 23 1:31:40 2019

%d

Depicts the day of the month (01-31)

07

%f

Microseconds

000000-999999

%H

Hour (00-23)

15

%I

Hour (00-11)

3

%j

Day of the year

235

%m

Month Number (01-12)

07

%M

Minutes (00-59)

45

%p

AM / PM

AM

%S

Seconds (00-59)

57

%U

Week number of the year starting from Sunday (00-53)

34

%w

Weekday number of the week

Monday (1)

%W

Week number of the year starting from Monday (00-53)

34

%x

Local date

06/07/19

%X

Local time

12:30:45

%y

Year (short version)

19

%Y

Year (full version)

2019

%z

UTC offset

+0100

%Z

Timezone

CST

%%

% Character

%

struct_time类具有以下属性:

Attribute Value

tm_year

0000, .., 2019, …, 9999

tm_mon

1-12

tm_mday

1-31

tm_hour

0-23

tm_min

0-59

tm_sec

0-61

tm_wday

0-6  (Monday is 0)

tm_yday

1-366

tm_isdst

0, 1, -1    (daylight savings time, -1 when unknown)

现在让我们举一些例子来实现时间 模块。

使用time在Python中查找日期和时间

使用上表中描述的内置函数和格式代码,您可以轻松地在Python中获取日期和时间。请注意,与所有模块一样,在使用任何内置功能之前,也需要导入时间模块。

例:

import time
#time
a=time.time()           #total seconds since epoch
print("Seconds since epoch :",a,end='n----------n')
#ctime
print("Current date and time:")
print(time.ctime(a),end='n----------n') 
#sleep
time.sleep(1)     #execution will be delayed by one second
#localtime
print("Local time :")
print(time.localtime(a),end='n----------n')
#gmtime
print("Local time in UTC format :")
print(time.gmtime(a),end='n-----------n')
#mktime
b=(2019,8,6,10,40,34,1,218,0)
print("Current Time in seconds :")
print( time.mktime(b),end='n----------n')
#asctime
print("Current Time in local format :")
print( time.asctime(b),end='n----------n')
#strftime
c = time.localtime() # get struct_time
d = time.strftime("%m/%d/%Y, %H:%M:%S", c)
print("String representing date and time:")
print(d,end='n----------n')
#strptime
print("time.strptime parses string and returns it in struct_time format :n")
e = "06 AUGUST, 2019"
f = time.strptime(e, "%d %B, %Y")
print(f)

输出:

自纪元以来的秒数:1565070251.7134922
-------
当前日期和时间:
2019年8月6日星期二11:14:11
-------
当地时间:
time.struct_time(tm_year = 2019,tm_mon = 8,tm_mday = 6,tm_hour = 11, tm_min = 14,tm_sec = 11,tm_wday = 1,tm_yday = 218,tm_isdst = 0)
———-
UTC格式的本地时间:
time.struct_time(tm_year = 2019,tm_mon = 8,tm_mday = 6,tm_hour = 5, tm_min = 44,tm_sec = 11,tm_wday = 1,tm_yday = 218,tm_isdst的= 0)
----
以秒为单位的当前时间:
1565068234.0
———-
以本地格式表示的当前时间:
Tue Aug 6 10:40:34 2019
———-
表示日期和时间的字符串:
08 / 06/2019,11 :14: 12
———-
time.strptime解析字符串并以struct_time格式返回:

time.struct_time(tm_year = 2019,tm_mon = 8,tm_mday = 6,tm_hour = 0,tm_min = 0,tm_sec = 0,tm_wday = 1,tm_yday = 218,tm_isdst = -1)

datetime模块:

与时间模块类似,datetime模块还包含所有必需的方法,这些方法对于处理日期和时间至关重要。

内置功能:

下表描述了此模块中存在的一些重要功能:

Function Description 描述

datetime()

Datetime constructor 日期时间构造函数

datetime.today()

Returns current local date and time 返回当前的本地日期和时间

datetime.now()

Returns current local date and time 返回当前的本地日期和时间

date()

Takes year, month and day as parameter and creates the corresponding date 以年,月和日为参数并创建相应的日期

time()

Takes hour, min, sec, microseconds and tzinfo as parameter and creates the corresponding date 以小时,分钟,秒,微秒和tzinfo为参数,并创建相应的日期

date.fromtimestamp()

Converts seconds to return the corresponding date and time 转换秒以返回相应的日期和时间

timedelta()

It is the difference between different dates or times (Duration) 它是不同日期或时间之间的差异(持续时间)

使用datetime在Python中查找日期和时间:

现在,让我们尝试使用datetime模块实现这些功能以在Python中查找日期和时间。

例:

import datetime
#datetime constructor
print("Datetime constructor:n")
print(datetime.datetime(2019,5,3,8,45,30,234),end='n----------n')
 
#today
print("The current date and time using today :n")
print(datetime.datetime.today(),end='n----------n')
 
#now
print("The current date and time using today :n")
print(datetime.datetime.now(),end='n----------n')
 
#date
print("Setting date :n")
print(datetime.date(2019,11,7),end='n----------n')
  
#time
print("Setting time :n")
print(datetime.time(6,30,23),end='n----------n')
 
#date.fromtimestamp
print("Converting seconds to date and time:n")
print(datetime.date.fromtimestamp(23456789),end='n----------n')
 
#timedelta
b1=datetime.timedelta(days=30, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=4, weeks=8)
b2=datetime.timedelta(days=3, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=4, weeks=8)
b3=b2-b1
print(type(b3))
print("The resultant duration = ",b3,end='n----------n')
 
#attributes
a=datetime.datetime.now()   #1
print(a)
print("The year is :",a.year)
 
print("Hours :",a.hour)

输出:

日期时间构造函数:

2019-05-03 08:45:30.000234
———-
今天使用的当前日期和时间:

2019-08-06 13:09:56.651691
———-
今天使用的当前日期和时间:

2019-08-06 13:09:56.651691
———-
设置日期:

2019-11-07
———-
凝结时间:

06:30:23
———-
将秒转换为日期和时间:

1970-09-29
———-
< class'datetime.timedelta '>
结果持续时间= -27天,0:00:00
———-
2019-08-06 13:09:56
. 653694年是:2019
小时:13

这使我们到了“ Python中的日期和时间”的文章结尾。希望您已经清楚地了解了所有内容。

确保尽可能多地练习并恢复经验。  

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。