Hướng dẫn weekday name in python
Python’s DateTime module offers a wide range of time-handling functions that make life a breeze. However, there’s no direct method to return a plain-English representation of a weekday name. Fortunately, there are several easy ways to get there. Show Before we take a look at getting the weekday name, let’s consider how Python’s from datetime import datetime # Create datetime object date = datetime.now() >>> 2021-02-07 15:30:46.665318 # Get the weekday value, as an integer date.weekday() >>> 6 This code illustrates how far the
Check out the official datetime.weekday documentation for more info. Now, knowing how to get an integer representation of the weekday for a given Method 1: Do it Manually# Define a list of weekday names days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] # Index using weekday int value days[date.weekday()] >>> Sunday This approach offers the flexibility of being able to tweak weekday naming and order on-the-fly. Need to truncate the date names? Just edit the list. Need to start with Sunday? Just re-arrange it. Need to reverse the list for some strange reason? Just Pros:
Cons:
Method 2: Use Strftime# Convert the integer to english representation date.date().strftime("%A") >>> Sunday This method is, arguably, the most succinct. It’s a
reasonable one-liner, doesn’t stray from the Pros:
Cons:
Method 3: The Calendar Moduleimport calendar # Convert using calender's day_name method calender.day_name[date.weekday()] >>> Sunday This is really just a round-about way to achieve the same result as the first method. The added benefit here is that someone else manages the weekday list (not really a burden in this case.) The Pros:
Cons:
Final ThoughtsWhen I was first learning to code, one of the biggest surprises to me was how complex managing time and dates can be. The subtle length differences in months, leap years, converting Converting computer-friendly date representations like epoch timestamps into user-friendly representations is another annoyingly demanding task. In this case, Python’s The reason your code is only returning one day name is because Nội dung chính
Here's a solution that uses the
Besides not needing to
hard-code days names in the function, another advantage to using the For example, although France is not my default locale, I can set it to be the current one for testing purposes as shown below. Note: According to this Capitalization of day names article, the names of the days of
the week are not capitalized in French like they are in my default English locale, but that is taken into account automatically, too, which means the
My last post was about creating a list of times to choose in an appointment-type app. In that app I also have a list of the days of the week. day_names = [ And, as in my previous post, I wanted to generate this list programmatically. This is the snippet I came up with. import calendar day_names = list(calendar.day_name) I use this snippet in a calendar app. Let’s try an example. import calendar The day_of_week variable is an integer 0–6. The integer is then used as an index to find the corresponding day name. The result is: Wednesday Process finished with exit code 0 I hope you enjoyed this article. This article is also available as a video on YouTube on my ZennDogg’s 2 Minute Snippet channel. Cheers! corresponding to the day of the week. Here is the mapping of integer values to the days of the week. # import Python's datetime module import datetime # weekdays as a tuple weekDays = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday") # Find out what day of the week is this year's Christmas thisXMas = datetime.date(2017,12,25) thisXMasDay = thisXMas.weekday() thisXMasDayAsString = weekDays[thisXMasDay] print("This year's Christmas is on a {}".format(thisXMasDayAsString)) # Find out what day of the week next new year is nextNewYear = datetime.date(2018,1,1) nextNewYearDay = nextNewYear.weekday() nextNewYearDayAsString = weekDays[nextNewYearDay] print("Next new year is on a {}".format(nextNewYearDayAsString)) How do I display weekdays in Python?isoweekday() to get a weekday of a given date in Python Use the isoweekday() method to get the day of the week as an integer, where Monday is 1 and Sunday is 7. i.e., To start from the weekday number from 1, we can use isoweekday() in place of weekday() . The output is 1, which is equivalent to Monday as Monday is 1. How do I get next weekday in Python?import time from datetime import date,timedelta dmy=time. strftime("%d-%m-%Y")# getting the current date if dmy. strftime("%w") in set([6,7]): # checking if its a weekend( Sat/Sun) , if so advancing dmy=time. strftime("%d-%m-%Y")+ timedelta(days=dmy. How do I check if today is Monday in Python?weekday() == 0: print("Yes, Today is Monday") else: print("Nope...") from datetime import datetime # If today is Monday (1 = Mon, 2 = Tue, 3 = Wen ...) if datetime. today(). isoweekday() == 1: print("Yes, Today is Monday") else: print("Nope...") What weekday is 1 in Python?weekday() Function Of Datetime. date Class In Python. |