如何在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
%pLocale的AM或者PM。上午,下午
%m分钟作为零填充的十进制数。00,01,...,59
%-M分钟作为十进制数。0,1,...,59
%s其次作为零填充的十进制数。00,01,...,59
%-s其次作为十进制数。0,1,...,59
%f微秒作为十进制数,左侧键盘。000000 - 999999
%zUTC以表单+ 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