जवाबों:
आप अपनी तिथि को प्रारूपित करने में मदद करने के लिए स्ट्रैपटाइम का उपयोग कर सकते हैं ।
उदाहरण के लिए,
import datetime
t = datetime.datetime(2012, 2, 23, 0, 0)
t.strftime('%m/%d/%Y')
निकलेगा:
'02/23/2012'
फ़ॉर्मेटिंग के बारे में अधिक जानकारी यहाँ देखें
t = datetime.datetime.now()
वर्तमान तिथि का उपयोग करने के लिए उपयोग करें
date
और datetime
ऑब्जेक्ट (और time
साथ ही) आउटपुट को निर्दिष्ट करने के लिए एक मिनी-भाषा का समर्थन करते हैं , और इसे एक्सेस करने के दो तरीके हैं:
dt.strftime('format here')
:; तथा'{:format here}'.format(dt)
तो आपका उदाहरण देख सकते हैं:
dt.strftime('%m/%d/%Y')
या
'{:%m/%d/%Y}'.format(dt)
पूर्णता के लिए: आप सीधे ऑब्जेक्ट की विशेषताओं तक भी पहुंच सकते हैं, लेकिन तब आपको केवल नंबर मिलते हैं:
'%s/%s/%s' % (dt.month, dt.day, dt.year)
मिनी-भाषा सीखने के लिए लिया गया समय इसके लायक है।
संदर्भ के लिए, यहां लघु-भाषा में प्रयुक्त कोड हैं:
%a
लोकल के संक्षिप्त नाम के रूप में सप्ताहांत। %A
लोकल का पूरा नाम वीकडे। %w
सप्ताहांत एक दशमलव संख्या के रूप में, जहां 0 रविवार है और 6 शनिवार है।%d
महीने का दिन शून्य-गद्देदार दशमलव संख्या के रूप में।%b
लोकेल के संक्षिप्त नाम के रूप में महीना।%B
स्थानीय नाम के रूप में महीना।%m
शून्य-गद्देदार दशमलव संख्या के रूप में महीना। 01, ..., 12 %y
शून्य-गद्देदार दशमलव संख्या के रूप में सदी के बिना वर्ष। 00, ..., 99 %Y
एक दशमलव संख्या के रूप में शताब्दी के साथ वर्ष। 1970, 1988, 2001, 2013 %H
शून्य-गद्देदार दशमलव संख्या के रूप में घंटा (24-घंटे की घड़ी)। 00, ..., 23 %I
शून्य-गद्देदार दशमलव संख्या के रूप में घंटा (12-घंटे की घड़ी)। 01, ..., 12 %p
लोकेल का एएम या पीएम के बराबर।%M
शून्य-गद्देदार दशमलव संख्या के रूप में मिनट। 00, ..., 59 %S
दूसरा शून्य-गद्देदार दशमलव संख्या के रूप में। 00, ..., 59%f
माइक्रोसेकंड एक दशमलव संख्या के रूप में, बाईं ओर शून्य-गद्देदार। 000000, ..., 999999%z
UTC फॉर्म + HHMM या -HHMM (रिक्त हो तो भोली), +0000, -0400, +1030 में ऑफसेट%Z
समय क्षेत्र का नाम (खाली होने पर भोला), यूटीसी, ईएसटी, सीएसटी %j
वर्ष का दिन शून्य-गद्देदार दशमलव संख्या के रूप में। 001, ..., 366 %U
वर्ष की साप्ताहिक संख्या (रविवार पहला है) शून्य गद्देदार दशमलव संख्या के रूप में।%W
एक दशमलव संख्या के रूप में वर्ष की साप्ताहिक संख्या (सोमवार पहले है)।%c
लोकेल की उचित तिथि और समय प्रतिनिधित्व। %x
लोकेल की उचित तिथि प्रतिनिधित्व। %X
लोकेल का उचित समय प्रतिनिधित्व। %%
एक शाब्दिक '%' वर्ण।एक अन्य विकल्प:
import datetime
now=datetime.datetime.now()
now.isoformat()
# ouptut --> '2016-03-09T08:18:20.860968'
datetime.datetime.now().ctime()
==>'Wed Sep 4 13:12:39 2019'
आप सरल स्ट्रिंग प्रारूपण विधियों का उपयोग कर सकते हैं:
>>> dt = datetime.datetime(2012, 2, 23, 0, 0)
>>> '{0.month}/{0.day}/{0.year}'.format(dt)
'2/23/2012'
>>> '%s/%s/%s' % (dt.month, dt.day, dt.year)
'2/23/2012'
'{:%Y-%m-%d %H:%M}'.format(datetime(2001, 2, 3, 4, 5))
। पर pyformat.info अधिक देखें
type-specific formatting
के रूप में अच्छी तरह से इस्तेमाल किया जा सकता है:
t = datetime.datetime(2012, 2, 23, 0, 0)
"{:%m/%d/%Y}".format(t)
आउटपुट:
'02/23/2012'
यदि आप datetime
स्ट्रिंग रूपांतरण का एक सरल तरीका खोज रहे हैं और प्रारूप को छोड़ सकते हैं। आप datetime
ऑब्जेक्ट को परिवर्तित कर सकते हैं str
और फिर ऐरे स्लाइसिंग का उपयोग कर सकते हैं ।
In [1]: from datetime import datetime
In [2]: now = datetime.now()
In [3]: str(now)
Out[3]: '2019-04-26 18:03:50.941332'
In [5]: str(now)[:10]
Out[5]: '2019-04-26'
In [6]: str(now)[:19]
Out[6]: '2019-04-26 18:03:50'
लेकिन निम्नलिखित बातों पर ध्यान दें। यदि AttributeError
चर के None
मामले में अन्य समाधान बढ़ेंगे तो इस मामले में आपको एक 'None'
स्ट्रिंग प्राप्त होगी ।
In [9]: str(None)[:19]
Out[9]: 'None'
डेटाटाइम ऑब्जेक्ट के घटकों के साथ सीधे काम करके एक डेटाइम ऑब्जेक्ट को स्ट्रिंग में परिवर्तित करना संभव है।
from datetime import date
myDate = date.today()
#print(myDate) would output 2017-05-23 because that is today
#reassign the myDate variable to myDate = myDate.month
#then you could print(myDate.month) and you would get 5 as an integer
dateStr = str(myDate.month)+ "/" + str(myDate.day) + "/" + str(myDate.year)
# myDate.month is equal to 5 as an integer, i use str() to change it to a
# string I add(+)the "/" so now I have "5/" then myDate.day is 23 as
# an integer i change it to a string with str() and it is added to the "5/"
# to get "5/23" and then I add another "/" now we have "5/23/" next is the
# year which is 2017 as an integer, I use the function str() to change it to
# a string and add it to the rest of the string. Now we have "5/23/2017" as
# a string. The final line prints the string.
print(dateStr)
आउटपुट -> 5/23/2017
स्ट्रिंग str.join
का निर्माण करने के लिए स्ट्रिंग संघनन, का उपयोग किया जा सकता है।
d = datetime.now()
'/'.join(str(x) for x in (d.month, d.day, d.year))
'3/7/2016'
DateTimeField
याDateField
django में बहुत उपयोगी है । धन्यवाद