如何在Python中获取当前日期和时间
时间:2020-03-05 15:31:22 来源:igfitidea点击:
在本教程中,我们将学习DateTime模块提供的类,这些类用于在Python 3.x中以简单和复杂的方式来操作日期和时间。
“ datetime”模块包含“ datetime”类,要获取当前日期和时间,我们将使用“ now()”方法。
获取当前时间和日期
为了显示当前时间和日期,我们将从“ datetime”模块中导入“ datetime”类。
之后,我们将使用'now()'方法创建对象。
from datetime import datetime now = datetime.now() print("Current Time =", now)
output Current Time = 2019-08-20 21:27:27.299378
获取当前时间和日期属性
从'datetime'类创建'now'对象后,该对象将成为具有方法和属性的方法,可帮助我们分别设置年,月,日,时,分,秒和微秒。
print ("Current Year is: %d" % now.year) print ("Current Month is: %d" % now.month) print ("Current Day is: %d" % now.day) print ("Current Hour is: %d" % now.hour) print ("Current Minute is: %d" % now.minute) print ("Current Second is: %d" % now.second) print ("Current Microsecond is: %d" % now.microsecond)
output Current Year is: 2019 Current Month is: 8 Current Day is: 20 Current Hour is: 21 Current Minute is: 27 Current Second is: 27 Current Microsecond is: 299378
使用strftime()获取当前时间和日期
我们将使用'strftime()methode'将日期,时间和日期时间对象转换为其等效的字符串。
year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time)
output year: 2019 month: 08 day: 20 time: 21:27:27 date and time: 08/20/2019, 21:27:27
格式化日期和时间列表
下表显示了可以传递给'strftime()'方法的所有选项:
%a | 工作日名称的缩写。 | Sun, Mon, ... |
---|---|---|
%A | 完整的工作日名称。 | Sunday, Monday, ... |
%w | 平日作为十进制数。 | 0,1,...,6 |
%d 作为零填充十进制的月份。 | 01,02,...,31 | |
%-D 作为十进制数的月份。 | 1,2,...,30 | |
%b | 缩写月份名称。 | 1月,2月,......,DEC |
%b | 全月名称。 | 1月,2月,... |
%m | 月份作为零填充的十进制数。 | 01,02,...,12 |
%-M | 月份作为十进制数。 | 1,2,...,12 |
%y | 一年毫无杜纳十进制数。 | 00,01,...,99 |
%-Y | 毫无纪要的一年作为十进制数。 | 0,1,...,99 |
%y | 与世纪作为十进制数年。 | 2013年,2019年等 |
%h | 小时(24小时时钟)作为零填充十进制数。 | 00,01,...,23 |
%-h | 小时(24小时时钟)作为十进制数。 | 0,1,...,23 |
%i | 小时(12小时时钟)作为零填充十进制数。 | 01,02,...,12 |
%-i 小时(12小时)作为十进制数。 | 1,2,... 12 | |
%p Locale的AM或者PM。 | 上午,下午 | |
%m | 分钟作为零填充的十进制数。 | 00,01,...,59 |
%-M | 分钟作为十进制数。 | 0,1,...,59 |
%s 其次作为零填充的十进制数。 | 00,01,...,59 | |
%-s | 其次作为十进制数。 | 0,1,...,59 |
%f | 微秒作为十进制数,左侧键盘。 | 000000 - 999999 |
%z UTC以表单+ HHMM或者-HMM偏移。 | ||
%z 时区名称。 | ||
%j | 一年中的一天作为零填充的十进制数。 | 001,002,...,366 |
%-J | 一年中的一天作为十进制数。 | 1,2,...,366 |
%U | 一周的一周(星期天作为一周的第一天)。在第一个星期天之前的新的一年内所有的日子被认为是在第0周的0. | 00,01,...,53 |
%w | 一周的年份(星期一作为一周的第一天)。整个日子在第一个星期一之前的新的一年中被认为是在第0周的0. 00,01,...,53 | |
%c 区域设置的适当日期和时间代表。 | 星期一9月30日07:06:05 2013 | |
%x | 区域设置的适当日期表示。 | 09/30/13 |
%x | 区域设置的适当时间表示。 | 07:06:05 |
%% | 一个字面的'%'性格。 | % |
从时间戳获取当前时间和日期
时间戳是在数据库中存储日期和时间的一种非常常见的方法。
Unix时间戳是UTC特定日期到1970年1月1日之间的秒数。
timestamp = 1545730073 dt_object = datetime.fromtimestamp(timestamp) print("dt_object =", dt_object) print("type(dt_object) =", type(dt_object))
output dt_object = 2016-12-25 01:27:53 type(dt_object) =
我们使用了'fromtimestamp()'方法,该方法返回本地日期和时间。
从当前时间和日期获取时间戳
我们将当前时间和日期转换为时间戳,使用'now'对象获取当前时间和日期,这是在数据库中存储时间和日期的简便方法。
timestamp = datetime.timestamp(now) print("timestamp =", timestamp)
output timestamp = 1566417574.394412
获取时区的当前时间
我们将使用“ pytz”模块和“ datetime”模块来获取时区的时间。
tz_Paris = pytz.timezone('Europe/Paris') datetime_Paris = datetime.now(tz_Paris) print("Paris time:", datetime_Paris.strftime("%H:%M:%S"))
output Paris time: 22:30:05