पाइथन में वर्तमान वर्ष और महीना


99

मेरे पास वर्तमान वर्ष और माह का समय अवश्य होना चाहिए।

मैं इसका उपयोग करता हूं:

datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")

क्या कोई और तरीका है?


क्या आपका मतलब है date.today().strftime("%Y-%m")?
00schneider 13

जवाबों:


124

उपयोग:

from datetime import datetime
today = datetime.today()
datem = datetime(today.year, today.month, 1)

मुझे लगता है कि आप महीने का पहला चाहते हैं।


2
@ user3778327: todayचर में पहले से ही चालू वर्ष और महीना है।
JFS

19
इस समाधान के लिए, from datetime import datetimeकेवल उपयोग करने के लिए सुनिश्चित करेंimport datetime
jpobst

@jpobst मैं Python 3.8.1 और datetime-4.3 zope.interface-4.7.1 का उपयोग कर रहा हूं, और उपरोक्त कोड ( आयात डेटाटाइम के साथ ) मेरे लिए काम करता है। अगर मैं
डेटाइम इंपोर्ट डेटटाइम

138

इस समाधान का प्रयास करें:

from datetime import datetime

currentSecond= datetime.now().second
currentMinute = datetime.now().minute
currentHour = datetime.now().hour

currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year

1
काम करता है, धन्यवाद! क्या अन्य उत्तरों में इस्तेमाल होने के .now()बजाय एक फायदा .today()है? now()समारोह कम है, इसे और अधिक आमतौर पर इस्तेमाल किया है ... लेकिन वहाँ एक दूसरे के ऊपर का उपयोग करने के लिए जब सभी एक पता करने के लिए है चाहता है किसी भी कारण है कि यह क्या साल है?
ल्यूक

1
@ शशलेश धन्यवाद! दूसरों को एक क्लिक बचाने के लिए: नहीं, वास्तव में नहीं
ल्यूक

आपको क्या from datetimeकरना है और आपको इसकी आवश्यकता क्यों है?
कादिज़

1
@ कैदोइज़ - डेटाइम पैकेज में कुछ सबमॉड्यूल्स होते हैं - सबमॉड्यूल date( from datetime import date) जो सिर्फ तारीखों से निपटता है, timeसबमॉडल जो कई बार डील करता है, और दुर्भाग्य से नामित datetimeसबमॉड्यूल जो दोनों करता है। वहाँ भी है timedeltaऔर tzinfoवहाँ भी । import datetimeसभी सबमॉडल्स के साथ पूरे पैकेज को प्राप्त करने के लिए बस एक हो सकता है , लेकिन तब विधि कॉल datetime.datetime.now()या जैसे दिखेंगे datetime.date.today()। आमतौर पर, आपके द्वारा आवश्यक घटकों को आयात करने के लिए कई कारणों से यह अच्छा है।
dannysauer

69

उपयोग:

from datetime import datetime

current_month = datetime.now().strftime('%m') // 02 //This is 0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February

current_day = datetime.now().strftime('%d')   // 23 //This is also padded
current_day_text = datetime.now().strftime('%a')  // Fri
current_day_full_text = datetime.now().strftime('%A')  // Friday

current_weekday_day_of_today = datetime.now().strftime('%w') //5  Where 0 is Sunday and 6 is Saturday.

current_year_full = datetime.now().strftime('%Y')  // 2018
current_year_short = datetime.now().strftime('%y')  // 18 without century

current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm

current_hour_am_pm = datetime.now().strftime('%p') // 4 pm

current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.

current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).

संदर्भ: 8.1.१. 8.1 strftime () और strptime () व्यवहार

संदर्भ: strftime () और strptime () व्यवहार

उपरोक्त चीजें किसी भी तारीख के पार्सिंग के लिए उपयोगी हैं, न केवल अभी या आज। यह किसी भी तिथि पार्सिंग के लिए उपयोगी हो सकता है।

e.g.
my_date = "23-02-2018 00:00:00"

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00')

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')

और इसी तरह...



7

आप हमेशा उप-स्ट्रिंग विधि का उपयोग कर सकते हैं:

import datetime;

today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);

यह आपको पूर्णांक प्रारूप में वर्तमान माह और वर्ष मिलेगा। आप उन्हें तार होना चाहते हैं तो आप बस चर के मान निर्दिष्ट करते हैं, जबकि "पूर्णांक" पूर्वता हटाने के लिए curr_yearऔर curr_month


5
ये गलत है। फिर इसे एक स्ट्रिंग हेरफेर करने की आवश्यकता क्यों है? datetime.datetime.now().monthबेहतर है।
अहमद

5
>>> from datetime import date
>>> date.today().month
2
>>> date.today().year
2020
>>> date.today().day
13

5

देर से जवाब, लेकिन आप भी उपयोग कर सकते हैं:

import time
ym = time.strftime("%Y-%m")

1
देर से, लेकिन गलत नहीं है, और डेटाटाइम का उपयोग करने से भी स्पष्ट है। धन्यवाद :)।
ivanleoncz

0

प्रश्न विशेष रूप से डेटाइम का उपयोग करने के लिए कहता है।

यह एक ऐसा तरीका है जो केवल डेटाइम का उपयोग करता है:

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