datetime python時間計算 - 如何在Python中獲取當前時間




python時間處理 python時間間隔 (25)

獲取當前時間的模塊/方法是什麼?


Answers

from time import time

t = time()
  • t - 浮點數,適用於時間間隔測量。

Unix和Windows平台有一些區別。


使用:

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2009, 1, 6, 15, 8, 24, 78915)

>>> print(datetime.datetime.now())
2018-07-29 09:17:13.812189

而且只是時間:

>>> datetime.datetime.now().time()
datetime.time(15, 8, 24, 78915)

>>> print(datetime.datetime.now().time())
09:17:51.914526

有關更多信息,請參閱文檔

要保存鍵入,可以從datetime模塊導入datetime對象:

>>> from datetime import datetime

然後刪除前導datetime. 從以上所有。


嘗試http://crsmithdev.com/arrow/的箭頭模塊:

import arrow
arrow.now()

或者UTC版本:

arrow.utcnow()

要更改其輸出,請添加.format():

arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ')

對於特定時區:

arrow.now('US/Pacific')

一小時前:

arrow.utcnow().replace(hours=-1)

或者如果你想要要點。

arrow.get('2013-05-11T21:23:58.970460+00:00').humanize()
>>> '2 years ago'

import datetime
date_time = str(datetime.datetime.now())
date = date_time.split()[0]
time = date_time.split()[1]

日期將打印日期和時間將打印時間。


以下是我用來獲取時間而不必格式化的內容。 有些人不喜歡split方法,但它在這裡很有用:

from time import ctime
print ctime().split()[3]

它將以HH:MM:SS格式打印。


如果你已經使用NumPy,那麼你可以直接使用numpy.datetime64()函數。

import numpy as np
str(np.datetime64('now'))

僅限日期:

str(np.datetime64('today'))

或者,如果您已經使用Pandas,那麼您可以使用pandas.to_datetime()函數:

import pandas as pd
str(pd.to_datetime('now'))

要么:

str(pd.to_datetime('today'))

如果您需要當前時間作為time對象:

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

>>> from datetime import datetime
>>> datetime.now().strftime('%Y-%m-%d %H:%M:%S')

對於這個例子,輸出將是這樣的: '2013-09-18 11:16:32'

這是strftime的列表。


您可以使用time模塊。

import time
print time.strftime("%d/%m/%Y")

>>> 06/02/2015

資本Y的使用給出了全年,使用y將給出06/02/15

您也可以使用更長的時間。

time.strftime("%a, %d %b %Y %H:%M:%S")
>>> 'Fri, 06 Feb 2015 17:45:09'

首先從datetime導入datetime模塊

from datetime import datetime

然後將當前時間打印為'yyyy-mm-dd hh:mm:ss'

print(str(datetime.now())

為了得到'hh:mm:ss'形式的時間,其中ss代表完整的秒數加上經過的秒數,就這樣做;

print(str(datetime.now()[11:])

將datetime.now()轉換為字符串會產生一種答案,其格式與我們習慣的常規日期和時間一樣。


我想用毫秒來得到時間。 獲得它們的簡單方法:

import time, datetime

print(datetime.datetime.now().time())                         # 11:20:08.272239

# Or in a more complicated way
print(datetime.datetime.now().time().isoformat())             # 11:20:08.272239
print(datetime.datetime.now().time().strftime('%H:%M:%S.%f')) # 11:20:08.272239

# But do not use this:
print(time.strftime("%H:%M:%S.%f", time.localtime()), str)    # 11:20:08.%f

但我想要幾毫秒 ,對嗎? 獲得它們的最短途徑:

import time

time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 1000)
# 11:34:23.751

在最後一次乘法中添加或刪除零以調整小數點數,或者只是:

def get_time_str(decimal_points=3):
    return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)

如果您只想要以ms為單位的當前時間戳(例如,測量執行時間),您還可以使用“timeit”模塊:

import timeit
start_time = timeit.default_timer()
do_stuff_you_want_to_measure()
end_time = timeit.default_timer()
print("Elapsed time: {}".format(end_time - start_time))

import datetime
date_time = datetime.datetime.now()

date = date_time.date()  # Gives the date
time = date_time.time()  # Gives the time

print date.year, date.month, date.day
print time.hour, time.minute, time.second, time.microsecond

dir(date)或任何變量,包括包。 您可以獲得與變量關聯的所有屬性和方法。


datetime.now()將當前時間作為一個天真的datetime對象返回,該對象表示本地時區的時間。 例如,在DST轉換期間(“後退”),該值可能是不明確的。 為避免歧義,應使用UTC時區:

from datetime import datetime

utc_time = datetime.utcnow()
print(utc_time) # -> 2014-12-22 22:48:59.916417

或者附加了相應時區信息的時區感知對象(Python 3.2+):

from datetime import datetime, timezone

now = datetime.now(timezone.utc).astimezone()
print(now) # -> 2014-12-23 01:49:25.837541+03:00

默認情況下, 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

為什麼不問美國海軍的官方計時器美國海軍天文台呢?

import requests
from lxml import html

page = requests.get('http://tycho.usno.navy.mil/cgi-bin/timer.pl')
tree = html.fromstring(page.content)
print(tree.xpath('//html//body//h3//pre/text()')[1])

如果你住在DC區域(像我一樣),延遲可能不會太糟糕......


你可以使用time.strftime()

>>> from time import gmtime, strftime
>>> strftime("%Y-%m-%d %H:%M:%S", gmtime())
'2009-01-05 22:14:39'

Harley的答案類似,但是使用str()函數來實現快速,更臟,更易讀的格式:

>>> from datetime import datetime
>>> str(datetime.now())
'2011-05-03 17:45:35.177000'

這就是我最終的目的:

>>>from time import strftime
>>>strftime("%m/%d/%Y %H:%M")
01/09/2015 13:11

此外,此表是選擇適當的格式代碼以獲得按照您希望的方式格式化日期的必要參考(來自Python“datetime”文檔)。


>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %X +0000", gmtime())
'Tue, 06 Jan 2009 04:54:56 +0000'

以指定的格式輸出當前的GMT。 還有一個localtime()方法。

page包含更多詳細信息。


使用Pandas來獲取當前時間,過度殺死手頭的問題:

import pandas as pd
print (pd.datetime.now())
print (pd.datetime.now().date())
print (pd.datetime.now().year)
print (pd.datetime.now().month)
print (pd.datetime.now().day)
print (pd.datetime.now().hour)
print (pd.datetime.now().minute)
print (pd.datetime.now().second)
print (pd.datetime.now().microsecond)

輸出:

2017-09-22 12:44:56.092642
2017-09-22
2017
9
22
12
44
56
92693

您可以使用此功能來獲取時間(不幸的是它不說AM或PM):

def gettime():
        from datetime import datetime
        return ((str(datetime.now())).split(' ')[1]).split('.')[0]

要獲得稍後合併的小時,分鐘,秒和毫秒,您可以使用以下功能:

小時:

def gethour():
        from datetime import datetime
        return return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]

分鐘:

def getminute():
        from datetime import datetime
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1]

第二:

def getsecond():
        from datetime import datetime
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2]

毫秒:

def getmillisecond():
        from datetime import datetime
        return return (str(datetime.now())).split('.')[1]

from time import ctime

// Day {Mon,Tue,..}
print ctime().split()[0]
// Month {Jan, Feb,..}
print ctime().split()[1]
// Date {1,2,..}
print ctime().split()[2]
// HH:MM:SS
print ctime().split()[3]
// Year {2018,..}
print ctime().split()[4]

當您調用ctime()時,它會將秒轉換為字符串,格式為'Day Month Date HH:MM:SS Year'(例如:'Wed January 17 16:53:22 2018'),然後調用split()方法將從你的字符串中創建一個列表['Wed','Jan','17','16:56:45','2018'](默認的分隔符是空格)。

括號用於在列表中“選擇”想要的參數。

一個人應該只調用一個代碼行。 一個人不應該像我一樣打電話給他們,這只是一個例子,因為在某些情況下你會得到不同的價值觀,罕見但不是不可能的情況。


簡單易行:

使用datetime模塊,

import datetime
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

輸出:

2017-10-17 23:48:55

要么

利用time

import time
print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()))

輸出:

2017-10-17 18:22:26

 from collections import Counter dict1 = {'a':1, 'b': 2} dict2 = {'b':10, 'c': 11} result = dict(Counter(dict1) + Counter(dict2)) 

這應該可以解決您的問題。





python datetime time