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




datetime time (25)

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


Answers

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

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

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


वर्तमान समय प्राप्त करने के लिए 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

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

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

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


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

उपयोग:

>>> 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. हटा दें datetime. उपरोक्त सभी से।


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

दिनांक प्रिंट करेगा तिथि और समय समय प्रिंट करेगा।


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

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

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

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

पहले डेटाटाइम से डेटाटाइम मॉड्यूल आयात करें

from datetime import datetime

फिर वर्तमान समय को 'yyyy-mm-dd hh: mm: ss' के रूप में प्रिंट करें

print(str(datetime.now())

'Hh: mm: ss' रूप में केवल समय प्राप्त करने के लिए, जहां सेकेंड सेकेंड की पूर्ण संख्या के साथ खड़ा होता है और सेकंड का अंश समाप्त हो जाता है, बस करें;

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

डेटाटाइम .now () को एक स्ट्रिंग में कनवर्ट करने से एक ऐसा उत्तर मिलता है जो उस प्रारूप में होता है जो नियमित डेटा और समय की तरह लगता है।


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

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]

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

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

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)

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

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

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


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 () को कॉल करते हैं तो यह 'दिन महीना दिनांक एचएच: एमएम: एसएस ईयर' (उदाहरण के लिए: 17 जनवरी 16:53:22 2018 ') प्रारूप में स्ट्रिंग में सेकेंड को परिवर्तित करेगा, फिर आप विभाजन () विधि को कॉल करते हैं आपकी स्ट्रिंग ['बुध', 'जनवरी', '17', '16:56:45', '2018'] से एक सूची बनायेगा (डिफ़ॉल्ट डिलीमीटर अंतरिक्ष है)।

सूची में वांछित तर्क 'चयन' करने के लिए ब्रैकेट का उपयोग किया जाता है।

किसी को केवल एक कोड लाइन कॉल करनी चाहिए। किसी को उन्हें ऐसा नहीं करना चाहिए जैसा मैंने किया था, यह सिर्फ एक उदाहरण था, क्योंकि कुछ मामलों में आपको अलग-अलग मूल्य मिलेंगे, दुर्लभ लेकिन असंभव मामले नहीं होंगे।


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

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'

करना

from time import time

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

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


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

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

strftime की सूची यहां दी गई है।


यदि आप पहले से ही 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'))

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

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

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

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

यह एचएच में प्रिंट होगा: एमएम: एसएस प्रारूप।


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

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

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


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

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

वर्तमान दिनांक और समय के लिए, उपयोग करें:

String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());

कौन सा आउटपुट:

Feb 27, 2012 5:41:23 PM




python datetime time