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

3436
user46646 6 जिंदा 2009, 07:54
41
कृपया ध्यान दें, सबसे अधिक वोट किए गए उत्तर टाइमज़ोनो-बेवकूफ डेटाटाइम के लिए हैं, जबकि हम देखते हैं कि उत्पादन वातावरण में दुनिया भर में अधिक से अधिक सेवाएं एक साथ जुड़ी हुई हैं और टाइमज़ोन-जागरूक डेटाटाइम आवश्यक मानक बन गए हैं
 – 
Sławomir Lenart
29 अप्रैल 2020, 20:12
1
साथ ही, django के लिए, टाइमज़ोन-अवेयर के लिए यहां देखें।
 – 
Anupam
19 सितंबर 2020, 09:42
2
यह @SławomirLenart द्वारा एक बहुत ही मान्य बिंदु है और यहां एक त्वरित ट्यूटोरियल है जिसमें कई तरीके दिखाए जा रहे हैं। समय क्षेत्र के आधार पर वर्तमान समय प्राप्त करें
 – 
Hitesh Garg
14 अगस्त 2021, 17:26

32 जवाब

सबसे बढ़िया उत्तर

उपयोग:

>>> 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. को हटा दें।

3517
RTHarston 29 अक्टूबर 2019, 20:00
46
यह अच्छा होगा यदि यह उत्तर टाइमज़ोन (शायद एक उदाहरण के रूप में यूटीसी) को कवर करता है और शायद समय के साथ शुरू होता है। समय ()।
 – 
Greg Lindahl
2 अक्टूबर 2018, 00:41
10
प्रारूप प्रश्न का हिस्सा नहीं था, इसलिए इसे उत्तर का हिस्सा नहीं होना चाहिए। मॉड्यूल के अधिक दस्तावेज़ीकरण के लिए पहले से ही एक लिंक प्रदान किया गया है जिसमें स्वरूपण जैसी सामग्री शामिल है।
 – 
JiyuuSensei
18 अक्टूबर 2019, 10:04
मूल उत्तर पायथन के किस संस्करण में दिया गया था? मेरे पायथन 2.7 इंटरेक्टिव कंसोल में बस datetime.datetime.now() टाइप करना (IronPython अभी तक अपडेट नहीं हुआ है) मुझे उत्तर में print() का उपयोग करके नए उदाहरण के समान व्यवहार देता है। मैंने मूल उत्तर को सफलतापूर्वक दोहराया नहीं है (datetime.datetime(2009, 1, 6, 15, 8, 24, 78915))। (ऐसा नहीं है कि मैं वास्तव में चाहता हूं, प्रिंट() व्यवहार को प्राथमिकता दी जाती है, लेकिन मैं उत्सुक हूं।)
 – 
RTHarston
29 अक्टूबर 2019, 18:04
@ बॉबविक्टर: पायथन 2.7, 3.7 और 3.8 सभी मेरे लिए समान व्यवहार देते हैं, सुनिश्चित नहीं है कि आप क्या देख रहे हैं।
 – 
Harley Holcombe
31 अक्टूबर 2019, 23:15
हम्म ... शायद यह आयरनपीथन चीज है? जब मैं अपने आप datetime.now() टाइप करता हूं तो वह उसी तरह प्रिंट करता है जैसे आपका उत्तर दिखाता है print(datetime.now())...
 – 
RTHarston
1 नवम्बर 2019, 08:58

आप time.strftime():

>>> from time import gmtime, strftime
>>> strftime("%Y-%m-%d %H:%M:%S", gmtime())
'2009-01-05 22:14:39'
1087
Honest Abe 21 फरवरी 2013, 01:17
56
क्या यह नीचे दिए गए @ ParaMeterz के उत्तर से बेहतर/बदतर है? हमें time मॉड्यूल बनाम datetime मॉड्यूल का उपयोग क्यों करना चाहिए?
 – 
Nathan
29 अप्रैल 2018, 19:17
5
यह मेरे कंप्यूटर का वर्तमान घंटा नहीं लौटाता है।
 – 
Saeed
29 अक्टूबर 2018, 14:51
11
यह यूटीसी समय है, जो डेटाटाइम मॉड्यूल से अलग है
 – 
Voyager
12 मार्च 2019, 11:11
26
@ सईद: अपना स्थानीय समय प्राप्त करने के लिए gmtime() के बजाय localtime() फ़ंक्शन का उपयोग करें।
 – 
Jeyekomon
3 जुलाई 2019, 14:33
4
datetime बनाम time पर संबंधित प्रश्न देखें।
 – 
Packard CPW
30 सितंबर 2019, 07:32
from datetime import datetime
datetime.now().strftime('%Y-%m-%d %H:%M:%S')

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

यहां strftime निर्देशों

745
Bob Stein 23 जिंदा 2020, 16:46

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

>>> from datetime import datetime
>>> str(datetime.now())
'2011-05-03 17:45:35.177000'
499
Community 23 मई 2017, 14:47
3
संबद्ध नहीं; "str" ​​चरण प्रश्न के दायरे में नहीं है
 – 
pppery
12 अप्रैल 2019, 00:06
13
न ही ऑप यह कहता है कि यह समय की एक स्ट्रिंग प्राप्त करने के बारे में नहीं है। ऑप यह बिल्कुल नहीं कहता कि वे समय के साथ क्या करना चाहते हैं, तो यह दिखाने के लिए एक बुरी बात क्यों है कि इसे एक स्ट्रिंग में कैसे चालू किया जाए? अधिकांश उत्तर समय से एक स्ट्रिंग प्राप्त करने की बात करते हैं, इसलिए यह एक सामान्य उपयोग का मामला प्रतीत होता है, तो रे के उत्तर को एकल क्यों करें? इसके साथ कुछ भी कैसे करना है यह जाने बिना बस समय निकालने का क्या उपयोग है? आप इसे प्रिंट कर सकते हैं, या इस पर गणित कर सकते हैं, और केवल कुछ ही उत्तर दिखाते हैं कि इस पर गणित कैसे किया जाता है, इसलिए मुझे लगता है कि एक स्ट्रिंग को प्रिंट करना/प्राप्त करना एक सामान्य उपयोग है। ;-) (मुझे पता है कि यह वही है जिसके लिए मैं आया था।)
 – 
RTHarston
29 अक्टूबर 2019, 18:21
7
तथ्य यह है कि इस उत्तर में 440 से अधिक अपवोट हैं, यह बताता है कि स्ट्रिंग विधि का मामूली जोड़ बहुत से लोगों के लिए उपयोगी था।
 – 
John
10 जिंदा 2020, 23:09
3
तथ्य यह है कि 440 लोग ऐसी सामग्री की तलाश में थे जो प्रश्न का वास्तविक उत्तर नहीं है, यह उस सामग्री को प्रश्न का उत्तर नहीं बनाता है।
 – 
pppery
21 फरवरी 2020, 07:55
2
तथ्य यह है कि यह प्रश्न का उत्तर देने का एक और तरीका है जो इसे अन्य लोगों के लिए प्रासंगिक बनाता है जिनके पास इस प्रश्न के समान प्रश्न हैं। तो इसमें कुछ भी गलत नहीं है :)
 – 
Ice Bear
31 पद 2020, 18:20

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

time मॉड्यूल

time मॉड्यूल फ़ंक्शन प्रदान करता है जो हमें "युग के बाद से सेकंड" के साथ-साथ अन्य उपयोगिताओं में समय बताता है।

import time

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

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

>>> time.time()
1424233311.771502

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

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

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

डेटाटाइम utcnow

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

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

डेटाटाइम टाइमज़ोन जागरूक

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

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

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

>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.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 मॉड्यूल में उपलब्ध सैकड़ों टाइमज़ोन में बदलने की अनुमति देता है।

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

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

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

457
MohammadHosseinZiyaaddini 2 जिंदा 2021, 14:10
मुझे लगता है कि हर कोई इस बात से सहमत हो सकता है कि ctime को किसी डेटाटाइम को फ़ॉर्मेट करने का अब तक का सबसे अजीब तरीका होना चाहिए। सप्ताह और महीने का संक्षिप्त दिन, महीने का दिन, 24 घंटे h:m:s, और फिर चार अंकों का वर्ष। नर्ड जो डेट स्ट्रिंग्स को सॉर्ट करना पसंद करते हैं, अमेरिकी, यूरोपीय ... हर कोई - हां, हर कोई - उस प्रारूप में कम से कम दो चीजें परेशान कर सकता है। हालाँकि मैं इसका उपयोग करूँगा क्योंकि यह बहुत आसान है।
 – 
ArtOfWarfare
6 सितंबर 2020, 06:32
जैसा कि मैं ऊपर ctime के बारे में कहता हूं: "आप अपने ऑपरेटिंग सिस्टम द्वारा पसंद किए गए तरीके से वर्तमान समय का भी प्रतिनिधित्व कर सकते हैं (जिसका अर्थ है कि जब आप अपनी सिस्टम प्राथमिकताएं बदलते हैं तो यह बदल सकता है, इसलिए मानक होने के लिए इस पर भरोसा न करें सभी प्रणालियों में, जैसा कि मैंने दूसरों को अपेक्षा करते देखा है। यह आम तौर पर उपयोगकर्ता के अनुकूल है, लेकिन आमतौर पर स्ट्रिंग्स में परिणाम नहीं होता है जिसे कोई कालानुक्रमिक रूप से सॉर्ट कर सकता है:"
 – 
Aaron Hall
6 सितंबर 2020, 08:16

करना

from time import time

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

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

149
Casimir Crystal 4 पद 2015, 09:46
विंडोज़ 10 होम पर मेरा परिणाम 1576095264.2682993 था - विंडोज़ के लिए, यह केवल कुछ सेकंड में समय दे सकता है।
 – 
hooman
11 पद 2019, 23:16
>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %X +0000", gmtime())
'Tue, 06 Jan 2009 04:54:56 +0000'

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

इस पेज में अधिक विवरण हैं।

115
Georgy 31 मई 2019, 11:53

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

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

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

81
Peter Mortensen 19 सितंबर 2019, 17:09
ओपी ने पूछा कि समय को कैसे प्राप्त करें, न कि इसे कैसे प्रदर्शित किया जाए!
 – 
TheTechRobo36414519
25 मई 2020, 20:35

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

>>> import time
>>> time.strftime("%Y%m%d")
'20130924'
76
Peter Mortensen 19 सितंबर 2019, 17:03

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

>>> import datetime
>>> now = datetime.datetime.now()
>>> datetime.time(now.hour, now.minute, now.second)
datetime.time(11, 23, 44)
62
Rob I 23 नवम्बर 2011, 22:08

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

>>> import datetime
>>> datetime.datetime.now().isoformat()
'2013-06-24T20:35:55.982000'
45
Peter Mortensen 7 जून 2018, 01:44

क्यों न यू.एस. नेवल ऑब्जर्वेटरी, यूनाइटेड स्टेट्स नेवी का आधिकारिक टाइमकीपर?

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

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

44
C8H10N4O2 19 अगस्त 2016, 22:45
22
जबकि आप सही हैं कि अन्य उत्तर मानते हैं कि आपका कंप्यूटर पहले से ही सही समय जानता है, यह उत्तर मानता है कि कंप्यूटर का इंटरनेट से कनेक्शन है, कि आप यूएस में हैं, और यह कि वे उस फ़ाइल को कभी नहीं हटाएंगे/बदलेंगे नहीं संपर्क। इस उत्तर में स्वीकृत से कहीं अधिक धारणाएँ। फिर भी होशियार कोई कम नहीं
 – 
sudobangbang
28 अक्टूबर 2016, 18:01
1
बिल्टिन घड़ी की तुलना में समय के लिए एक और स्रोत होने के लिए बहुत बढ़िया! एनटीपी के अधिक तार्किक विकल्प का भी एक अच्छा विकल्प।
 – 
Roland
27 अप्रैल 2021, 12:42

वर्तमान समय प्राप्त करने के लिए 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
39
Georgy 31 मई 2019, 12:06
पंडों के भविष्य के संस्करणों में इस पद्धति को हटा दिया जाएगा। इसके बजाय डेटाटाइम मॉड्यूल का प्रयोग करें।
 – 
bfree67
29 सितंबर 2020, 06:12

यही वह है जिसके साथ मैं समाप्त हुआ:

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

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

strftime format code table

31
Kristen G. 9 जिंदा 2015, 21:24
2
strftime(time_format) वर्तमान स्थानीय समय को एक स्ट्रिंग के रूप में लौटाता है जो दिए गए time_format से मेल खाती है। नोट: time.strftime() और datetime.strftime() अलग-अलग निर्देश सेट का समर्थन करते हैं जैसे, %z, Python 2 पर time.strftime() द्वारा समर्थित नहीं है।
 – 
jfs
10 जिंदा 2015, 02:36
1
क्या समय के बजाय डेटाटाइम का उपयोग करना बेहतर अभ्यास है?
 – 
Kristen G.
15 जिंदा 2015, 23:09
2
कई time मॉड्यूल फ़ंक्शन संबंधित C फ़ंक्शंस के आसपास पतले रैपर हैं। datetime एक उच्च स्तर है और यह आमतौर पर अधिक पोर्टेबल होता है।
 – 
jfs
15 जिंदा 2015, 23:19

यदि आप पहले से ही 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'))
32
durjoy 31 मई 2019, 14:59

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

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
28
jfs 23 पद 2014, 01:52
एफवाईआई, यूटीसी में वर्तमान समय का प्रतिनिधित्व करने के लिए datetime.utcnow() का उपयोग करने की अनुशंसा नहीं की जाती है क्योंकि यह अभी भी एक 'बेवकूफ' डेटाटाइम ऑब्जेक्ट देता है - इसके बजाय, datetime.now(timezone.utc) का उपयोग करने की अनुशंसा की जाती है क्योंकि यह एक 'जागरूक' देता है ' डेटाटाइम ऑब्जेक्ट। अधिक विवरण के लिए पायथन दस्तावेज़ देखें: docs.python.org/ 3/लाइब्रेरी/…
 – 
Seth
14 जून 2021, 21:35
ध्यान दें कि पायथन 3.2+ समाधान पहले से ही timezone.utc का उपयोग करता है। शायद, अब जब पायथन 2.7 ईओएलड हो गया है तो बेवकूफ-डेटाटाइम छोड़ा जा सकता है
 – 
jfs
15 जून 2021, 21:42
आह, मुझे नहीं पता था कि पूरी तरह से पायथन 2.7 के साथ संगतता के लिए था - शायद इसे पोस्ट में स्पष्ट किया जाना चाहिए? कम से कम मेरे लिए, ऐसा लग रहा था कि यह पोस्ट यूटीसी समय प्राप्त करने के लिए भोले और जागरूक दोनों तरीकों (अभी भी) समान रूप से स्वीकार्य तरीके थे, इसलिए मैंने बताया कि यह पायथन (नवीनतम) दस्तावेज नहीं कहता है।
 – 
Seth
18 जून 2021, 20:45
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) या पैकेज सहित कोई भी वेरिएबल करें। आप चर से जुड़ी सभी विशेषताओं और विधियों को प्राप्त कर सकते हैं।

25
Peter Mortensen 7 जून 2018, 01:55
और @ user1016274, अगर import datetime तो यह datetime.datetime.now()\n है अगर from datetime import datetime तो यह datetime.now() है
 – 
theBuzzyCoder
21 अप्रैल 2017, 07:44
>>> import datetime, time
>>> time = time.strftime("%H:%M:%S:%MS", time.localtime())
>>> print time
'00:21:38:20S'
21
pokkie 14 सितंबर 2019, 15:10
मुझे लगता है कि आपके कहने का मतलब है "datetime.now().strftime(...)"
 – 
hlin117
26 अक्टूबर 2014, 23:46
हाँ यह किया जा सकता है जैसा आपने कहा था। "datetime.datetime.now().strftime("%H:%M:%S:%MS")"
 – 
user2030113
4 नवम्बर 2014, 13:02
4
%MS आपको मिलीसेकंड नहीं देता !!
 – 
ZF007
13 जून 2019, 23:23

डिफ़ॉल्ट रूप से, 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
20
Peter Mortensen 7 जून 2018, 02:03

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'
18
Peter Mortensen 7 जून 2018, 01:52

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

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

>>> 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) पर थोड़ा गौर करें, हालांकि, वहां RFC और ISO स्वरूपों से कुछ अधिक है।

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

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

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

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

21
Ben 29 पद 2019, 01:47

मिलीसेकंड के लिए बिल्कुल 3 दशमलव अंक प्राप्त करने के लिए 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)

अधिक संदर्भ:

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

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)
18
y.selivonchyk 2 अगस्त 2021, 21:35
1
यह पायथन 3 में काम करता है: time.strftime("%H:%M:%S", time.localtime()) + '.{}'.format(int(time.time()% 1 * 1000))
 – 
Greg Graham
27 सितंबर 2016, 17:41

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

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))
16
motagirl2 18 जुलाई 2018, 10:11

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

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]
17
scrpy 13 अगस्त 2019, 19:51

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

from datetime import datetime

import pytz


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


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

यदि आप केवल समय चाहते हैं, तो आप उसे local_time.time() से प्राप्त कर सकते हैं।

15
kungphu 6 जुलाई 2018, 11:24
आश्चर्यजनक रूप से, उपरोक्त सभी उत्तरों में समय क्षेत्र का उल्लेख नहीं था। आपको इच्छित प्रारूप प्राप्त करने के लिए आपको strftime भी शामिल करना चाहिए।
 – 
GraphicalDot
30 अगस्त 2018, 20:27
1
मैंने इसे शामिल नहीं किया क्योंकि यह पहले से ही अन्य उत्तरों में शामिल है (और प्रदर्शन स्वरूपण प्रश्न का हिस्सा नहीं था)।
 – 
kungphu
1 सितंबर 2018, 00:59

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

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
18
Jay Walker 11 मार्च 2020, 23:03

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

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

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

6
Peter Mortensen 7 जून 2018, 01:51
import datetime
date_time = str(datetime.datetime.now()).split()
date,time = date_time

तारीख तारीख प्रिंट करेगा और समय समय प्रिंट करेगा।

6
Abhijeet Deshani 24 जिंदा 2019, 22:58

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

देखें यह SO उत्तर और Django doc timezone.now() के पीछे विवरण और तर्क के लिए।

from django.utils import timezone

now = timezone.now()
9
Georgy 5 जून 2019, 14:50

आप निम्न कोशिश कर सकते हैं

import datetime

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

या

import datetime

now = datetime.datetime.now()
print(now.strftime("%Y-%b-%d, %A %I:%M:%S"))
17
Chathuranga Silva 30 नवम्बर 2020, 17:52
import datetime

todays_date = datetime.date.today()
print(todays_date)
>>> 2019-10-12

# adding strftime will remove the seconds
current_time = datetime.datetime.now().strftime('%H:%M')
print(current_time)
>>> 23:38
15
Georgy 12 अक्टूबर 2019, 21:18

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

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

आउटपुट:

Sat Sep 14 21:27:08 2019

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

12
Jim 28 मार्च 2020, 01:19