पायथन में वर्तमान समय कैसे प्राप्त करें


2886

वर्तमान समय प्राप्त करने के लिए मॉड्यूल / विधि का क्या उपयोग किया जाता है?


कृपया ध्यान दें, सबसे अधिक वोट किए गए जवाब टाइमज़ोनो-भोले डेटाइम के लिए हैं, जबकि हम देखते हैं कि उत्पादन के माहौल में दुनिया भर में अधिक से अधिक सेवाएं एक साथ जुड़ी हुई हैं और टाइमजोन-अवगत डेटाटाइम आवश्यक मानक बन जाता है
स्लावोमिर लेनार्ट

जवाबों:


3049

उपयोग:

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

>>> print(datetime.datetime.now())
2009-01-06 15:08:24.789150

और बस समय:

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

>>> print(datetime.datetime.now().time())
15:08:24.789150

अधिक जानकारी के लिए दस्तावेज़ देखें ।

टाइपिंग को बचाने के लिए, आप मॉड्यूल datetimeसे ऑब्जेक्ट आयात कर सकते हैं datetime:

>>> from datetime import datetime

फिर datetime.उपरोक्त सभी से अग्रणी को हटा दें ।


25
यह अच्छा होगा यदि यह उत्तर टाइमज़ोन को कवर करता है (शायद एक उदाहरण के रूप में UTC) और शायद time.time () से शुरू होता है।
ग्रेग लिंडाहल

4
@ टॉस्कन प्रारूप प्रश्न का हिस्सा नहीं था, इसलिए इसे उत्तर का हिस्सा नहीं होना चाहिए। मॉड्यूल के अधिक प्रलेखन के लिए पहले से ही एक लिंक प्रदान किया गया है जिसमें प्रारूपण जैसी चीजें शामिल हैं।
जियुइसेनसी

पायथन का मूल संस्करण किस संस्करण में दिया गया था? datetime.datetime.now()मेरे पायथन 2.7 इंटरएक्टिव कंसोल (आयरनपाइथन ने अभी तक अपडेट नहीं किया है) में टाइप करने से मुझे print()उत्तर में उपयोग करने वाले नए उदाहरण के समान व्यवहार मिलता है । मैंने सफलतापूर्वक उत्तर दिया कि मूल उत्तर क्या दिखाता है (datetime.datetime (2009, 1, 6, 15, 8, 24, 78915))। (ऐसा नहीं है कि मैं वास्तव में चाहता हूं, प्रिंट () व्यवहार को प्राथमिकता दी जाती है, लेकिन मैं उत्सुक हूं।)
RTHarston

@ थोबिकेटर: पायथन 2.7, 3.7 और 3.8 सभी मेरे लिए समान व्यवहार देते हैं, सुनिश्चित नहीं हैं कि आप क्या देख रहे हैं।
हार्ले होल्कोम्बे

@HarleyHolcombe हम्म ... शायद यह एक आयरनपॉन बात है? जब मैं datetime.now()अपने दम पर टाइप करता हूं तो यह उसी तरह से प्रिंट करता है जैसा कि आपका उत्तर दिखाता है print(datetime.now())...
RTHarston

955

आप उपयोग कर सकते हैं time.strftime():

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

48
क्या यह @ पैरामीटर्सज़ के उत्तर से बेहतर / बुरा है? हमें timeमॉड्यूल बनाम मॉड्यूल का उपयोग क्यों करना चाहिए datetime?
नाथन

3
यह मेरे कंप्यूटर के वर्तमान घंटे को वापस नहीं करता है।
सईद

5
यह UTC का समय है, जो डेटाटाइम मॉड्यूल से अलग है
मल्लाह

5
@ सईद: अपने स्थानीय समय को प्राप्त करने के localtime()बजाय फ़ंक्शन का उपयोग करें gmtime()
ज्येकोमन

3
@frank बनाम पर संबंधित प्रश्न देखें । datetimetime
पैकर्ड CPW

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

इस उदाहरण के लिए, आउटपुट इस प्रकार होगा: '2013-09-18 11:16:32'

यहां strftimeनिर्देशों की सूची दी गई है ।


456

हार्ले के उत्तर के समान , लेकिन str()त्वरित-गंदे, थोड़े अधिक मानवीय पठनीय प्रारूप के लिए फ़ंक्शन का उपयोग करें :

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

13
यह सब पूछ रहा है कि वर्तमान समय प्राप्त करना है, इसे प्रदर्शित नहीं करना है।
पिपरी

@ppperry, तो बस रे के उत्तर के लिए एक चर असाइन करें - जैसे: myTime = str (datetime.now ())
लुकास

2
संबद्ध नहीं; "str" ​​स्टेप प्रश्न के दायरे में नहीं है
21

4
@pppery न ही ऑप का कहना है कि यह समय की एक स्ट्रिंग प्राप्त करने के बारे में नहीं है। ऑप बिल्कुल भी नहीं कहता है कि वे समय के साथ क्या करना चाहते हैं, इसलिए यह दिखाना गलत है कि इसे स्ट्रिंग में कैसे बदलना है? अधिकांश उत्तर समय से एक स्ट्रिंग प्राप्त करने के बारे में बात करते हैं, इसलिए यह एक सामान्य उपयोग मामला प्रतीत होता है, इसलिए रे का उत्तर एकल क्यों है? क्या उपयोग बस के लिए कैसे जानने के बिना समय हो रही है कर इसके साथ कुछ भी? आप इसे प्रिंट कर सकते हैं, या इस पर गणित कर सकते हैं, और केवल एक-दो उत्तर बताते हैं कि इस पर गणित कैसे किया जाए, इसलिए मुझे लगता है कि एक स्ट्रिंग का मुद्रण / प्राप्त करना एक सामान्य उपयोग है। ;-) (मुझे पता है कि यह वही है जिसके लिए मैं आया था।)
RTHarston

1
तथ्य यह है कि इस उत्तर में 440 से अधिक अपवोट हैं, यह बताता है कि स्ट्रिंग विधि का मामूली जोड़ बहुत सारे लोगों के लिए उपयोगी था
जॉन

360

पायथन में मुझे वर्तमान समय कैसे मिलेगा?

timeमॉड्यूल

timeमॉड्यूल हमें साथ ही अन्य सुविधाएं "युग के बाद से सेकंड" में समय बताता है कि कार्यों प्रदान करता है।

import time

यूनिक्स युग का समय

यह वह प्रारूप है जिसे आपको डेटाबेस में सहेजने के लिए टाइमस्टैम्प प्राप्त करना चाहिए। यह एक साधारण फ्लोटिंग पॉइंट संख्या है जिसे पूर्णांक में परिवर्तित किया जा सकता है। यह सेकंड में अंकगणित के लिए भी अच्छा है, क्योंकि यह 1 जनवरी, 1970 00:00:00 के बाद से सेकंड की संख्या का प्रतिनिधित्व करता है, और यह स्मृति प्रकाश है जो हम अगले समय में देख रहे हैं:

>>> time.time()
1424233311.771502

यह टाइमस्टैम्प लीप-सेकंड के लिए जिम्मेदार नहीं है, इसलिए यह रैखिक नहीं है - लीप सेकंड को अनदेखा किया जाता है। इसलिए जब यह अंतर्राष्ट्रीय यूटीसी मानक के बराबर नहीं है, तो यह करीब है, और इसलिए रिकॉर्ड रखने के अधिकांश मामलों के लिए काफी अच्छा है।

यह मानव समय-निर्धारण के लिए आदर्श नहीं है। यदि आपके पास एक भविष्य की घटना है जो आप एक निश्चित समय पर जगह लेना चाहते हैं, तो आप उस समय को एक स्ट्रिंग के साथ संग्रहीत करना चाहते हैं जिसे एक डेटाइम ऑब्जेक्ट या क्रमबद्ध डेटाटाइम ऑब्जेक्ट में पार्स किया जा सकता है (इन्हें बाद में वर्णित किया जाएगा)।

time.ctime

आप अपने ऑपरेटिंग सिस्टम द्वारा पसंद किए गए तरीके से वर्तमान समय का भी प्रतिनिधित्व कर सकते हैं (जिसका अर्थ है कि जब आप अपनी सिस्टम वरीयताओं को बदल सकते हैं, तो यह बदल सकता है, इसलिए सभी प्रणालियों में मानक होने के लिए इस पर भरोसा न करें, जैसा कि मैंने दूसरों से अपेक्षा की है) । यह आमतौर पर उपयोगकर्ता के अनुकूल होता है, लेकिन आमतौर पर इसका परिणाम नहीं होता है कि कोई कालानुक्रमिक रूप से छांट सकता है:

>>> time.ctime()
'Tue Feb 17 23:21:56 2015'

आप टाइमस्टैम्प को मानव के साथ पठनीय रूप में भी हाइड्रेट कर सकते हैं ctime:

>>> time.ctime(1424233311.771502)
'Tue Feb 17 23:21:51 2015'

यह रूपांतरण रिकॉर्ड रखने के लिए भी अच्छा नहीं है (पाठ को छोड़कर जो केवल मनुष्यों द्वारा पार्स किया जाएगा - और बेहतर ऑप्टिकल कैरेक्टर मान्यता और आर्टिफिशियल इंटेलिजेंस के साथ, मुझे लगता है कि इन मामलों की संख्या कम हो जाएगी)।

datetime मापांक

datetimeमॉड्यूल यहां भी काफी उपयोगी है:

>>> import datetime

datetime.datetime.now

datetime.nowएक वर्ग विधि है कि वर्तमान समय देता है। यह time.localtimeबिना टाइमज़ोन जानकारी के उपयोग करता है (यदि नहीं दिया गया है, अन्यथा नीचे दिए गए टाइमज़ोन को देखें)। इसका एक प्रतिनिधित्व है (जो आपको एक समतुल्य वस्तु को फिर से बनाने की अनुमति देगा) खोल पर गूँजती है, लेकिन जब मुद्रित (या उसके लिए मजबूर str), यह मानव पठनीय (और लगभग आईएसओ) प्रारूप में है, और लेक्सोग्राफ़िक प्रकार इसके बराबर है कालानुक्रमिक प्रकार:

>>> datetime.datetime.now()
datetime.datetime(2015, 2, 17, 23, 43, 49, 94252)
>>> print(datetime.datetime.now())
2015-02-17 23:43:51.782461

datetime के utcnow

आप ऐसा करके, वैश्विक मानक, UTC समय में एक डेटाटाइम ऑब्जेक्ट प्राप्त कर सकते हैं:

>>> datetime.datetime.utcnow()
datetime.datetime(2015, 2, 18, 4, 53, 28, 394163)
>>> print(datetime.datetime.utcnow())
2015-02-18 04:53:31.783988

UTC एक समय मानक है जो GMT टाइमज़ोन के लगभग बराबर है। (जबकि जीएमटी और यूटीसी डेलाइट सेविंग टाइम के लिए नहीं बदलते हैं, उनके उपयोगकर्ता समर के दौरान ब्रिटिश समर टाइम जैसे अन्य टाइमज़ोन पर स्विच कर सकते हैं।)

डेटाइम टाइमजोन अवगत

हालाँकि, अब तक हमारे द्वारा बनाई गई डेटाइम वस्तुओं में से कोई भी आसानी से विभिन्न टाइमज़ोन में परिवर्तित हो सकती है। हम pytzमॉड्यूल के साथ उस समस्या को हल कर सकते हैं :

>>> import pytz
>>> then = datetime.datetime.now(pytz.utc)
>>> then
datetime.datetime(2015, 2, 18, 4, 55, 58, 753949, tzinfo=<UTC>)

समान रूप से, पायथन 3 में हमारे पास timezoneएक यूटीसी timezoneउदाहरण के साथ वर्ग जुड़ा हुआ है, जो वस्तु को समय- सीमा से अवगत कराता है (लेकिन आसान pytzमॉड्यूल के बिना किसी अन्य टाइमज़ोन में परिवर्तित करने के लिए पाठक को एक अभ्यास के रूप में छोड़ दिया जाता है):

>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.utc)

और हम देखते हैं कि हम मूल utc ऑब्जेक्ट से टाइमज़ोन में आसानी से परिवर्तित कर सकते हैं।

>>> print(then)
2015-02-18 04:55:58.753949+00:00
>>> print(then.astimezone(pytz.timezone('US/Eastern')))
2015-02-17 23:55:58.753949-05:00

आप pytzसमय-समय पर localizeविधि के साथ, या tzinfo विशेषता को बदलने के साथ एक भोली - भाली वस्तु को भी जागरूक कर सकते हैं (साथ replace, यह आँख बंद करके किया जाता है), लेकिन ये सर्वोत्तम प्रथाओं की तुलना में अधिक अंतिम रिज़ॉर्ट हैं:

>>> pytz.utc.localize(datetime.datetime.utcnow())
datetime.datetime(2015, 2, 18, 6, 6, 29, 32285, tzinfo=<UTC>)
>>> datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
datetime.datetime(2015, 2, 18, 6, 9, 30, 728550, tzinfo=<UTC>)

pytzमॉड्यूल हमारे बनाने के लिए हमें की अनुमति देता है datetimeवस्तुओं के बारे में पता समयक्षेत्र और में उपलब्ध समय-क्षेत्रों के सैकड़ों बार परिवर्तित pytzमॉड्यूल।

कोई भी इस ऑब्जेक्ट को UTC समय के लिए तीव्रता से क्रमबद्ध कर सकता है और डेटाबेस में संग्रहीत कर सकता है, लेकिन इसके लिए और अधिक मेमोरी की आवश्यकता होगी और केवल यूनिक्स एपोच समय को संग्रहीत करने की तुलना में त्रुटि होने की अधिक संभावना होगी, जिसे मैंने पहले प्रदर्शित किया था।

देखने के समय के अन्य तरीके बहुत अधिक त्रुटि प्रवण हैं, विशेषकर जब विभिन्न समय क्षेत्रों से आने वाले डेटा से निपटते हैं। आप चाहते हैं कि कोई भ्रम न हो कि किस टाइमज़ोन के लिए एक स्ट्रिंग या क्रमबद्ध डेटाटाइम ऑब्जेक्ट का उद्देश्य था।

यदि आप उपयोगकर्ता के लिए पायथन के साथ समय प्रदर्शित कर रहे हैं, तो ctimeअच्छी तरह से काम करता है, एक तालिका में नहीं (यह आमतौर पर अच्छी तरह से सॉर्ट नहीं करता है), लेकिन शायद एक घड़ी में। हालाँकि, मैं व्यक्तिगत रूप से सिफारिश करता हूं, जब पायथन में समय के साथ काम कर रहा है, या तो यूनिक्स समय का उपयोग कर रहा है, या एक टाइमज़ोन जागरूक यूटीसी datetimeऑब्जेक्ट।


133

करना

from time import time

t = time()
  • t - फ्लोट संख्या, समय अंतराल माप के लिए अच्छा है।

यूनिक्स और विंडोज प्लेटफार्मों के लिए कुछ अंतर है।


विंडोज 10 होम पर मेरा परिणाम 1576095264.2682993 था - विंडोज के लिए, यह सिर्फ सेकंड में समय दे सकता है।
PythonMaster202

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

यह निर्दिष्ट प्रारूप में वर्तमान GMT को आउटपुट करता है। एक localtime()विधि भी है ।

इस पृष्ठ में अधिक विवरण हैं।


69

पिछले उत्तर सभी अच्छे सुझाव हैं, लेकिन मुझे इसका उपयोग करना आसान है ctime():

In [2]: from time import ctime
In [3]: ctime()
Out[3]: 'Thu Oct 31 11:40:53 2013'

यह वर्तमान स्थानीय समय का एक अच्छा स्वरूपित स्ट्रिंग प्रतिनिधित्व देता है।


ओपी ने पूछा कि समय कैसे प्राप्त किया जाए, न कि इसे कैसे प्रदर्शित किया जाए!
theTechRobo36414519

58

सबसे तेज़ तरीका है:

>>> import time
>>> time.strftime("%Y%m%d")
'20130924'

52

यदि आपको एक timeवस्तु के रूप में वर्तमान समय की आवश्यकता है :

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

36

.isoformat() दस्तावेज में है, लेकिन अभी तक यहाँ नहीं है (यह @ रेगा के जवाब के समान शक्तिशाली है):

>>> import datetime
>>> datetime.datetime.now().isoformat()
'2013-06-24T20:35:55.982000'

35

संयुक्त राज्य अमेरिका की नौसेना के आधिकारिक टाइमकीपर अमेरिकी नौसेना वेधशाला से क्यों नहीं पूछते हैं ?

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])

यदि आप डीसी क्षेत्र में रहते हैं (मेरी तरह) तो विलंबता बहुत खराब नहीं हो सकती है ...


18
@ C8H10N4O2 जब आप सही होते हैं, तो दूसरे उत्तर यह मान लेते हैं कि आपका कंप्यूटर पहले से ही सही समय जानता है, यह उत्तर मानता है कि कंप्यूटर का इंटरनेट से कनेक्शन है, कि आप अमेरिका में हैं, और वे इस फाइल को कभी नहीं लेंगे। लिंक को बदल दें। इस उत्तर में दूर की मान्यताओं की तुलना में अधिक है। फिर भी चालाक कोई भी कम नहीं है
sudobangbang

32

मौजूदा समय को प्राप्त करने के लिए पांडा का उपयोग करना , हाथ में समस्या को खत्म करने का तरीका:

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

28

यह वही है जो मैंने समाप्त किया है:

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

साथ ही, यह तालिका उस तारीख को प्राप्त करने के लिए उपयुक्त प्रारूप कोड चुनने के लिए एक आवश्यक संदर्भ है, जिस तरह से आप इसे चाहते हैं ( यहां पाइथन "डेटाइम" प्रलेखन से )।

strftime प्रारूप कोड तालिका


2
strftime(time_format)वर्तमान स्थानीय समय को एक स्ट्रिंग के रूप में देता है जो दिए गए से मेल खाती है time_format। नोट: time.strftime()और datetime.strftime()विभिन्न निर्देश सेट का समर्थन करता है, जैसे %zकि time.strftime()पायथन 2 द्वारा समर्थित नहीं है
jfs

1
क्या समय के बजाय डेटाइम का उपयोग करना बेहतर अभ्यास है?
क्रिस्टन जी।

2
कई timeमॉड्यूल फ़ंक्शन संबंधित C फ़ंक्शन के आसपास पतले रैपर हैं। datetimeएक उच्च स्तर है और यह आमतौर पर अधिक पोर्टेबल है।
JFS

24

यदि आप पहले से ही numpy का उपयोग कर रहे हैं तो सीधे आप numpy.datetime64 () फ़ंक्शन का उपयोग कर सकते हैं।

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

केवल तारीख के लिए:

str(np.datetime64('today'))

या, यदि आप पहले से ही पांडा का उपयोग कर रहे हैं तो आप pandas.to_datetime () फ़ंक्शन का उपयोग कर सकते हैं

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

या,

str(pd.to_datetime('today'))

23

आप 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'

20

datetime.now()वर्तमान समय को एक भोली डेटाइम वस्तु के रूप में लौटाता है जो स्थानीय समयक्षेत्र में समय का प्रतिनिधित्व करता है। वह मान अस्पष्ट हो सकता है, उदाहरण के लिए, डीएसटी ट्रांज़िशन ("फ़ॉल बैक") के दौरान। अस्पष्टता से बचने के लिए या तो यूटीसी टाइमज़ोन का उपयोग किया जाना चाहिए:

from datetime import datetime

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

या एक समय-ज्ञात वस्तु जो संबंधित समयक्षेत्र जानकारी संलग्न है (पायथन 3.2+):

from datetime import datetime, timezone

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

18
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)या पैकेज सहित किसी भी चर। आप चर के साथ जुड़े सभी विशेषताओं और विधियों को प्राप्त कर सकते हैं।


@snofty और @ user1016274, अगर import datetimeतब यह datetime.datetime.now()\ n है तो यदि from datetime import datetimeयह हैdatetime.now()
BuzzyCoder

17
>>> import datetime, time
>>> time = time.strftime("%H:%M:%S:%MS", time.localtime())
>>> print time
'00:21:38:20S'

मुझे लगता है कि आपके कहने का मतलब है "
डेटाइम.न

जैसा कि आपने कहा, हाँ, यह किया जा सकता है। "datetime.datetime.now ()। स्ट्रैटिफ़ाइम ("% H:% M:% S:% MS ")"
user2030113

3
% MS आपको मिलीसेकंड नहीं देता है !!
ZF007

15

डिफ़ॉल्ट रूप से, now()फ़ंक्शन YYYY-MM-DD HH:MM:SS:MSप्रारूप में आउटपुट देता है । पायथन स्क्रिप्ट में वर्तमान दिनांक और समय प्राप्त करने और स्क्रीन पर परिणाम प्रिंट करने के लिए नीचे दी गई नमूना स्क्रिप्ट का उपयोग करें। getDateTime1.pyनीचे दी गई सामग्री के साथ फ़ाइल बनाएँ ।

import datetime

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

उत्पादन नीचे की तरह दिखता है:

2018-03-01 17:03:46.759624

14

इस सवाल के लिए सिर्फ एक नए जवाब की जरूरत नहीं है ... एक चमकदार नया-ईश खिलौना / मॉड्यूल, हालांकि, पर्याप्त औचित्य है। वह पेंडुलम लाइब्रेरी होने के नाते , जो तीर की कोशिश करता है, जो बिना किसी दोष और कीड़े के तीर को छोड़कर, जो तीर चलाने का प्रयास करता है।

उदाहरण के लिए, मूल प्रश्न का उत्तर:

>>> import pendulum
>>> print(pendulum.now())
2018-08-14T05:29:28.315802+10:00
>>> print(pendulum.now('utc'))
2018-08-13T19:29:35.051023+00:00

चिंता करने के लिए कई मानकों जिनमें कई RFC और ISO शामिल हैं, को संबोधित करने की आवश्यकता है। कभी उन्हें मिलाया जाता है; चिंता करने की ज़रूरत नहीं है, dir(pendulum.constants)आरएफसी और आईएसओ प्रारूपों की तुलना में थोड़ा अधिक है, हालांकि वहाँ।

जब हम स्थानीय कहते हैं, हालांकि हमारा क्या मतलब है? वैसे मेरा मतलब है:

>>> print(pendulum.now().timezone_name)
Australia/Melbourne
>>>

संभवतः आप में से अधिकांश का मतलब कहीं और है।

और उस पर चला जाता है। लंबी कहानी छोटी: पेंडुलम HTTP के लिए अनुरोध और दिनांक और समय के लिए क्या करने का प्रयास करता है। यह ध्यान देने योग्य है, विशेष रूप से इसके उपयोग में आसानी और व्यापक प्रलेखन दोनों के लिए।


13

एक समयक्षेत्र का वर्तमान समय

from datetime import datetime
import pytz

tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY time:", datetime_NY.strftime("%H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London time:", datetime_London.strftime("%H:%M:%S"))

tz_India = pytz.timezone('Asia/India')
datetime_India = datetime.now(tz_India)
print("India time:", datetime_India.strftime("%H:%M:%S"))

#list timezones
pytz.all_timezones

12

Http://crsmithdev.com/arrow/ से तीर मॉड्यूल आज़माएं :

import arrow
arrow.now()

या यूटीसी संस्करण:

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'

5
खबरदार जो arrow.now('Time/Zone')कुछ टाइमज़ोन के लिए विफल हो सकते हैं ( arrowउपयोग किया गया है dateutilकि यूआरसी टूट गया है -> स्थानीय रूपांतरण जो अंदर उपयोग किए जाते हैं arrow.now()। नोट: pytzइस तरह का कोई मुद्दा नहीं है । इसके अलावा, अन्य
टाइमज़ोन

12

मैं मिलीसेकंड के साथ समय प्राप्त करना चाहता हूं। उन्हें प्राप्त करने का एक सरल तरीका:

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)

1
अजगर 3 में यह काम करता है: time.strftime '। {}'। ( "% एच:% M% s", time.localtime ()) + प्रारूप (पूर्णांक (time.time ()% 1 * 1000))
ग्रेग ग्राहम

11

आप समय पाने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं (दुर्भाग्य से यह एएम या पीएम नहीं कहता है):

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

बाद में विलय करने के लिए घंटे, मिनट, सेकंड और मिलीसेकंड प्राप्त करने के लिए, आप इन कार्यों का उपयोग कर सकते हैं:

घंटे:

def gethour():
    from datetime import datetime
    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 (str(datetime.now())).split('.')[1]

10

यदि आप एमएस में वर्तमान टाइमस्टैम्प चाहते हैं (उदाहरण के लिए, निष्पादन समय को मापने के लिए), तो आप "टाइमटाइम" विकल्प का भी उपयोग कर सकते हैं:

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))

8

निम्नलिखित वह है जो मैं प्रारूप के बिना समय प्राप्त करने के लिए उपयोग करता हूं। कुछ लोगों को विभाजित विधि पसंद नहीं है, लेकिन यह यहाँ उपयोगी है:

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

यह HH: MM: SS फॉर्मेट में प्रिंट होगा।


8

क्योंकि किसी ने अभी तक इसका उल्लेख नहीं किया है, और यह एक ऐसी चीज है जिसे मैंने हाल ही में चलाया था ... एक पाइटज़ टाइमज़ोन के थॉट () विधि को डेटाइम के यूटक्नो () के साथ संयुक्त रूप से सबसे अच्छा तरीका है जो मुझे एक उपयोगी वर्तमान समय (और तारीख) प्राप्त करने के लिए मिला है किसी भी समयक्षेत्र में।

from datetime import datetime

import pytz


JST = pytz.timezone("Asia/Tokyo")


local_time = JST.fromutc(datetime.utcnow())

यदि आप चाहते हैं कि सभी समय है, तो आप उसके साथ मिल सकते हैं local_time.time()


हैरानी की बात है, ऊपर दिए गए सभी जवाबों में टाइम जोन का उल्लेख नहीं है। आपको उस प्रारूप को भी शामिल करना चाहिए जिसे आप चाहते थे।
ग्राफिकलडॉट

1
मैंने इसे शामिल नहीं किया क्योंकि यह पहले से ही अन्य उत्तरों में शामिल किया गया है (और प्रदर्शन स्वरूपण प्रश्न का हिस्सा नहीं था)।
कुंगफू

7

यह सवाल पाइथन के लिए है, लेकिन चूंकि जिआंगो पाइथन के लिए सबसे व्यापक रूप से इस्तेमाल किए जाने वाले ढांचे में से एक है, इसलिए यह ध्यान रखना महत्वपूर्ण है कि यदि आप Django का उपयोग कर रहे हैं, तो आप timezone.now()इसके बजाय हमेशा उपयोग कर सकते हैंdatetime.datetime.now() । पूर्व टाइमजोन 'जागरूक' है जबकि बाद वाला नहीं है।

देखें इस अतः जवाब और Django डॉक विवरण और तर्क के पीछे के लिए timezone.now()

from django.utils import timezone

now = timezone.now()

7

आप समय का उपयोग करके ऐसा कर सकते हैं ():

from time import time, ctime
t = time()
ctime(t)

उत्पादन:

Sat Sep 14 21:27:08 2019

ये आउटपुट अलग-अलग हैं क्योंकि टाइमस्टैम्प द्वारा लौटाया गया ctime()आपके भौगोलिक स्थान पर निर्भर करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.