如何获取当前时间?


当前回答

这个问题是针对Python的,但由于Django是Python中使用最广泛的框架之一,因此需要注意的是,如果您使用Django,您可以始终使用timezone.now()而不是datetime.datetime.now()。前者是时区“感知”,而后者不是。

有关timezone.now()背后的详细信息和原理,请参阅这个SO答案和Django文档。

from django.utils import timezone

now = timezone.now()

其他回答

这里有很多复杂的解决方案,初学者可能会感到困惑。我发现这是这个问题最简单的解决方案,因为它只返回所问的当前时间(没有虚饰):

import datetime

time = datetime.datetime.now()

display_time = time.strftime("%H:%M")
print(display_time)

如果您希望返回比当前时间更详细的信息,可以按照其他人的建议进行操作:

import datetime

time = datetime.datetime.now()
print(time)

虽然这种方法写起来更短,但它也会返回当前日期和毫秒,这在简单地返回当前时间时可能不需要。

如果需要当前时间作为时间对象:

>>> import datetime
>>> now = datetime.datetime.now()
>>> datetime.time(now.hour, now.minute, now.second)
datetime.time(11, 23, 44)

默认情况下,now()函数以YYYY-MM-DD HH:MM:SS:MS格式返回输出。使用以下示例脚本获取Python脚本中的当前日期和时间,并在屏幕上打印结果。使用以下内容创建文件getDateTime1.py。

import datetime

currentDT = datetime.datetime.now()
print (str(currentDT))

输出如下所示:

2018-03-01 17:03:46.759624

如果您将其用于django datetime有时在服务器上无法工作,所以我建议使用时区

但要使用django时区,您应该在设置中设置您的国家/地区时区代码。py

TIME_ZONE = 'Asia/Tashkent'

那你就可以用它了

from django.utils import timezone

timezone.now() // for date time

timezone.now().year // for yaer

timezone.now().month // for month

timezone.now().day // for day 

timezone.now().date // for date

timezone.now().hour // for hour

timezone.now().weekday // for minute

或者如果您想在python上使用

import time

time.strftime('%X') // '13:12:47'

time.strftime('%x') // '01/20/22'

time.strftime('%d') // '20' day

time.strftime('%m') // '01' month

time.strftime('%y') // '20' year

time.strftime('%H') // '01' hour

time.strftime('%M') // '01' minute

time.strftime('%m') // '01' second

如果你经常使用panda,你可以使用Timestamp,它相当于Python的Datetime:

In [1]: import pandas as pd

In [2]: pd.Timestamp.now()
Out[2]: Timestamp('2022-06-21 21:52:50.568788')

只是时间:

In [3]: pd.Timestamp.now().strftime("%H:%M:%S")
Out[3]: '21:53:01'