current position:Home>For another 3 days, I sorted out 80 Python datetime examples, which must be collected!
For another 3 days, I sorted out 80 Python datetime examples, which must be collected!
2022-01-30 03:13:35 【Zhou radish】
On a daily basis , use Python Processing data in time format is very common , Let's share today DateTime Related examples
The article is very long. , You have to bear it , If you can't stand it , Then collect it , It's always used
Brother radish also made it PDF, At the end of the paper !
Use time The module displays the current date and time
import time
from time import gmtime, strftime
t = time.localtime()
print (time.asctime(t))
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))
print(strftime("%A", gmtime()))
print(strftime("%D", gmtime()))
print(strftime("%B", gmtime()))
print(strftime("%y", gmtime()))
# Convert seconds into GMT date
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890)))
Copy code
Output:
Sun May 7 09:30:37 2017
Sun, 07 May 2017 04:00:37 +0000
Sunday
05/07/17
May
17
Fri, 13 Feb 2009 23:31:30 +0000
Copy code
Will day 、 Hours 、 Convert minutes to seconds
SECONDS_PER_MINUTE = 60
SECONDS_PER_HOUR = 3600
SECONDS_PER_DAY = 86400
#Read the inputs from user
days = int(input("Enter number of Days: "))
hours = int(input("Enter number of Hours: "))
minutes = int(input("Enter number of Minutes: "))
seconds = int(input("Enter number of Seconds: "))
#Calculate the days, hours, minutes and seconds
total_seconds = days * SECONDS_PER_DAY
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
total_seconds = total_seconds + seconds
#Display the result
print("Total number of seconds: ","%d"%(total_seconds))
Copy code
Output:
Enter number of Days: 5
Enter number of Hours: 36
Enter number of Minutes: 24
Enter number of Seconds: 15
Total number of seconds: 563055
Copy code
Use Pandas Get the current date and time
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)
Copy code
Output:
2018-01-19 16:08:28.393553
2018-01-19
2018
1
19
16
8
28
394553
Copy code
Convert string to datetime object
from datetime import datetime
from dateutil import parser
d1 = "Jan 7 2015 1:15PM"
d2 = "2015 Jan 7 1:33PM"
# If you know date format
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
print(type(date1))
print(date1)
# If you don't know date format
date2 = parser.parse(d2)
print(type(date2))
print(date2)
Copy code
Output:
class 'datetime.datetime'
2015-01-07 13:15:00
class 'datetime.datetime'
2015-01-07 13:33:00
Copy code
Gets the current time in milliseconds
import time
milliseconds = int(round(time.time() * 1000))
print(milliseconds)
Copy code
Output:
1516364270650
Copy code
With MST、EST、UTC、GMT and HST Get the current date time
from datetime import datetime
from pytz import timezone
mst = timezone('MST')
print("Time in MST:", datetime.now(mst))
est = timezone('EST')
print("Time in EST:", datetime.now(est))
utc = timezone('UTC')
print("Time in UTC:", datetime.now(utc))
gmt = timezone('GMT')
print("Time in GMT:", datetime.now(gmt))
hst = timezone('HST')
print("Time in HST:", datetime.now(hst))
Copy code
Output:
Time in MST: 2017-01-19 06:06:14.495605-07:00
Time in EST: 2017-01-19 08:06:14.496606-05:00
Time in UTC: 2017-01-19 13:06:14.496606+00:00
Time in GMT: 2017-01-19 13:06:14.496606+00:00
Time in HST: 2017-01-19 03:06:14.497606-10:00
Copy code
Get the day of the week from a given date
import datetime
dayofweek = datetime.date(2010, 6, 16).strftime("%A")
print(dayofweek)
# weekday Monday is 0 and Sunday is 6
print("weekday():", datetime.date(2010, 6, 16).weekday())
# isoweekday() Monday is 1 and Sunday is 7
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday())
dayofweek = datetime.datetime.today().strftime("%A")
print(dayofweek)
print("weekday():", datetime.datetime.today().weekday())
print("isoweekday()", datetime.datetime.today().isoweekday())
Copy code
Output:
Wednesday
weekday(): 2
isoweekday() 3
Friday
weekday(): 4
isoweekday() 5
Copy code
Calculate the time difference between two date time objects
import datetime
from datetime import timedelta
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
date1 = '2016-04-16 10:01:28.585'
date2 = '2016-03-10 09:56:28.067'
diff = datetime.datetime.strptime(date1, datetimeFormat)\
- datetime.datetime.strptime(date2, datetimeFormat)
print("Difference:", diff)
print("Days:", diff.days)
print("Microseconds:", diff.microseconds)
print("Seconds:", diff.seconds)
Copy code
Output:
Difference: 37 days, 0:05:00.518000
Days: 37
Microseconds: 518000
Seconds: 300
Copy code
take 5 Minutes added to Unix Time stamp
import datetime
import calendar
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
print(calendar.timegm(future.timetuple()))
Copy code
Output:
1621069619
Copy code
stay Python Traverse a series of dates
import datetime
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
for date in date_generated:
print(date.strftime("%d-%m-%Y"))
Copy code
Output:
21-06-2020
22-06-2020
23-06-2020
24-06-2020
25-06-2020
26-06-2020
27-06-2020
28-06-2020
29-06-2020
30-06-2020
01-07-2020
02-07-2020
03-07-2020
04-07-2020
Copy code
Change from Paris time to New York time
import pendulum
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
print(in_paris)
in_us = in_paris.in_timezone('America/New_York')
print(in_us)
Copy code
Output:
2016-08-07T22:24:30+02:00
2016-08-07T16:24:30-04:00
Copy code
Use Python Get the last 7 A working day
from datetime import date
from datetime import timedelta
today = date.today()
for i in range(7):
d = today - timedelta(days=i)
if d.weekday() < 5:
print(d)
Copy code
Output:
2021-05-18
2021-05-17
2021-05-14
2021-05-13
2021-05-12
Copy code
Calculate the age from today's date and a person's birthday
from datetime import date
def calculate_age(born):
today = date.today()
try:
birthday = born.replace(year=today.year)
except ValueError:
birthday = born.replace(year=today.year, month=born.month + 1, day=1)
if birthday > today:
return today.year - born.year - 1
else:
return today.year - born.year
print(calculate_age(date(2001, 3, 1)))
Copy code
Output:
20
Copy code
Get the first Tuesday of the month
import calendar
from datetime import datetime
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
try:
tues = [day for week in monthcal for day in week if
day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
print(tues)
except IndexError:
print('No date found')
Copy code
Output:
2021-05-04
Copy code
Converts an integer to a date object
from datetime import datetime
i = 1545730073
timestamp = datetime.fromtimestamp(i)
print(timestamp)
print(type(timestamp))
Copy code
Output:
2018-12-25 14:57:53
Copy code
Current date minus N Days of days
from datetime import datetime, timedelta
d = datetime.today() - timedelta(days=5)
print(d)
Copy code
Output:
2021-05-10 12:59:14.867969
Copy code
Compare two dates
import datetime
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
b = datetime.datetime(2020, 11, 30, 23, 59, 59)
print(a < b)
print(a > b)
Copy code
Output:
False
True
Copy code
from datetime Object
import datetime
year = datetime.date.today().year
print(year)
Copy code
Output:
2021
Copy code
stay Python Find the day of the week
import pendulum
dt = pendulum.parse('2021-05-18')
print(dt.day_of_week)
dt = pendulum.parse('2021-05-01')
print(dt.day_of_week)
dt = pendulum.parse('2021-05-21')
print(dt.day_of_week)
Copy code
Output:
2
6
5
Copy code
Get... From current date 7 The day before
from datetime import datetime, timedelta
now = datetime.now()
for x in range(7):
d = now - timedelta(days=x)
print(d.strftime("%Y-%m-%d"))
Copy code
Output:
2021-05-18
2021-05-17
2021-05-16
2021-05-15
2021-05-14
2021-05-13
2021-05-12
Copy code
Converts the difference between two datetime objects to seconds
import datetime
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')
difference = time2 - time1
print(difference)
seconds = difference.total_seconds()
print(seconds)
Copy code
Output:
6 days, 0:00:00
518400.0
Copy code
Get the third Friday of any month
import calendar
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
year = 2021
month = 5
monthcal = c.monthdatescalendar(year, month)
try:
third_friday = [day for week in monthcal for day in week if
day.weekday() == calendar.FRIDAY and day.month == month][2]
print(third_friday)
except IndexError:
print('No date found')
Copy code
Output:
2021-05-21
Copy code
from Python The number of weeks in gets the date
import datetime
from dateutil.relativedelta import relativedelta
week = 25
year = 2021
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
print(date)
Copy code
Output:
2021-06-25
Copy code
Get the working day of a specific date
import datetime
print(datetime.date(2020, 5, 15).isocalendar()[2])
Copy code
Output:
5
Copy code
Create a 15 Minutes ago DateTime
import datetime
dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
print(dt)
Copy code
Output:
2021-05-15 22:25:55.897365
Copy code
Get the start and end dates of the week from a specific date
import pendulum
dt = pendulum.datetime(2012, 9, 5)
start = dt.start_of('week')
print(start.to_datetime_string())
end = dt.end_of('week')
print(end.to_datetime_string())
Copy code
Output:
2012-09-03 00:00:00
2012-09-09 23:59:59
Copy code
The difference between two dates ( In seconds )
from datetime import datetime
fmt = '%Y-%m-%d %H:%M:%S'
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
days_diff = d2 - d1
print(days_diff.days * 24 * 60 * 60)
Copy code
Output:
172800
Copy code
Get yesterday's date in this format MMDDYY
from datetime import date, timedelta
yesterday = date.today() - timedelta(days=1)
print(yesterday.strftime('%m%d%y'))
Copy code
Output:
051421
Copy code
Get last Wednesday from today's date
from datetime import date
from datetime import timedelta
today = date.today()
offset = (today.weekday() - 2) % 7
wednesday = today - timedelta(days=offset)
print(wednesday)
Copy code
Output:
2021-05-12
Copy code
Print a list of all available time zones
import pytz
for i in pytz.all_timezones:
print(i)
Copy code
Output:
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
...
US/Mountain
US/Pacific
US/Samoa
UTC
Universal
W-SU
WET
Zulu
Copy code
Gets the date range... Between the specified start date and end date
import datetime
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
for date in date_generated:
print(date.strftime("%d-%m-%Y"))
Copy code
Output:
21-06-2020
22-06-2020
23-06-2020
24-06-2020
25-06-2020
26-06-2020
27-06-2020
28-06-2020
29-06-2020
30-06-2020
01-07-2020
02-07-2020
03-07-2020
04-07-2020
Copy code
Milliseconds converted to data
import datetime
time_in_millis = 1596542285000
dt = datetime.datetime.fromtimestamp(time_in_millis / 1000.0, tz=datetime.timezone.utc)
print(dt)
Copy code
Output:
2020-08-04 11:58:05+00:00
Copy code
Find the date of the first Sunday after a given date
import datetime
def next_weekday(d, weekday):
days_ahead = weekday - d.weekday()
if days_ahead <= 0:
days_ahead += 7
return d + datetime.timedelta(days_ahead)
d = datetime.date(2021, 5, 16)
next_sunday = next_weekday(d, 6)
print(next_sunday)
Copy code
Output:
2021-05-23
Copy code
take (Unix) Timestamp seconds are converted to date and time strings
from datetime import datetime
dateStr = datetime.fromtimestamp(1415419007).strftime("%A, %B %d, %Y %I:%M:%S")
print(type(dateStr))
print(dateStr)
Copy code
Output:
Saturday, November 08, 2014 09:26:47
Copy code
The difference between two dates in months
from datetime import datetime
from dateutil import relativedelta
date1 = datetime.strptime('2014-01-12 12:00:00', '%Y-%m-%d %H:%M:%S')
date2 = datetime.strptime('2021-07-15 12:00:00', '%Y-%m-%d %H:%M:%S')
r = relativedelta.relativedelta(date2, date1)
print(r.months + (12 * r.years))
Copy code
Output:
90
Copy code
Converts the local time string to UTC
from datetime import *
from dateutil import *
from dateutil.tz import *
utc_zone = tz.gettz('UTC')
local_zone = tz.gettz('America/Chicago')
utc_zone = tz.tzutc()
local_zone = tz.tzlocal()
local_time = datetime.strptime("2020-10-25 15:12:00", '%Y-%m-%d %H:%M:%S')
print(local_time)
local_time = local_time.replace(tzinfo=local_zone)
print(local_time)
utc_time = local_time.astimezone(utc_zone)
print(utc_time)
utc_string = utc_time.strftime('%Y-%m-%d %H:%M:%S')
print(utc_string)
Copy code
Output:
2020-10-25 15:12:00
2020-10-25 15:12:00+05:30
2020-10-25 09:42:00+00:00
2020-10-25 09:42:00
Copy code
Get the last Thursday of the month
import calendar
from datetime import datetime
month = calendar.monthcalendar(datetime.today().year, datetime.today().month)
thrusday = max(month[-1][calendar.THURSDAY], month[-2][calendar.THURSDAY])
print(thrusday)
Copy code
Output:
27
Copy code
Find the week ordinal of the year from a specific date
import pendulum
dt = pendulum.parse('2015-05-18')
print(dt.week_of_year)
dt = pendulum.parse('2019-12-01')
print(dt.week_of_year)
dt = pendulum.parse('2018-01-21')
print(dt.week_of_year)
Copy code
Output:
21
48
3
Copy code
Get the day of the week from the given date
import datetime
import calendar
dt = datetime.datetime(2021, 4, 25, 23, 24, 55, 173504)
print(calendar.day_name[dt.weekday()])
Copy code
Output:
Sunday
Copy code
use AM PM Print current time
from datetime import datetime
print(datetime.today().strftime("%I:%M %p"))
Copy code
Output:
10:11 PM
Copy code
Get the last day of the month
import calendar
print(calendar.monthrange(2002, 1)[1])
print(calendar.monthrange(2008, 6)[1])
print(calendar.monthrange(2012, 2)[1])
print(calendar.monthrange(2015, 2)[1])
Copy code
Output:
31
30
29
28
Copy code
Get the workday name from the workday value
import calendar
print(calendar.day_name[0])
print(calendar.day_name[1])
print(calendar.day_name[2])
print(calendar.day_name[3])
print(calendar.day_name[4])
print(calendar.day_name[5])
print(calendar.day_name[6])
Copy code
Output:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Copy code
take N Add hours to current date time
from datetime import datetime, timedelta
d = datetime.today() + timedelta(hours=18)
print(d)
Copy code
Output:
2021-05-16 07:36:08.189948
Copy code
Get year... From current date 、 month 、 Japan 、 Hours 、 minute
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Copy code
Output:
2021 5 15 14 27 33
Copy code
Get the last Sunday of a specific month and year
import calendar
month = calendar.monthcalendar(2021, 2)
last_sunday = max(month[-1][calendar.SUNDAY], month[-2][calendar.SUNDAY])
print(last_sunday)
Copy code
Output:
28
Copy code
Find which day of the year for a specific date
import pendulum
dt = pendulum.parse('2015-05-18')
print(dt.day_of_year)
dt = pendulum.parse('2019-12-01')
print(dt.day_of_year)
dt = pendulum.parse('2018-01-21')
print(dt.day_of_year)
Copy code
Output:
138
335
21
Copy code
Find whether the current date is a working day or a weekend
import datetime
weekno = datetime.datetime.today().weekday()
if weekno < 5:
print("Weekday")
else: # 5 Sat, 6 Sun
print("Weekend")
Copy code
Output:
Weekday
Copy code
Combine datetime.date and datetime.time object
import datetime
d = datetime.datetime.combine(datetime.date(2020, 11, 14),
datetime.time(10, 23, 15))
print(d)
Copy code
Output:
2020-11-14 10:23:15
Copy code
Get the... Of each month 5 One Monday
import calendar
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
year = 2016
month = 2
monthcal = c.monthdatescalendar(year, month)
try:
fifth_monday = [day for week in monthcal for day in week if
day.weekday() == calendar.MONDAY and day.month == month][4]
print(fifth_monday)
except IndexError:
print('No date found')
Copy code
Output:
2016-02-29
Copy code
Convert date time object to date object
from datetime import datetime
datetime_obj = datetime(2020, 12, 15, 10, 15, 45, 321474)
print(datetime_obj)
date_obj = datetime_obj.date()
print(date_obj)
Copy code
Output:
2020-12-15 10:15:45.321474
2020-12-15
Copy code
Gets the current date time without microseconds
from datetime import datetime
print(datetime.now().isoformat(' ', 'seconds'))
Copy code
Output:
2021-05-15 12:55:45
Copy code
take N Add seconds to a specific date time
import datetime
a = datetime.datetime(2020, 12, 31, 23, 59, 45)
b = a + datetime.timedelta(seconds=30)
print(a)
print(b)
Copy code
Output:
2020-12-31 23:59:45
2021-01-01 00:00:15
Copy code
Get a two digit month and date from the current date
import datetime
dt = datetime.datetime.now()
print(dt.strftime('%m'))
print('{:02d}'.format(dt.month))
print(f'{dt.month:02d}')
print('%02d' % dt.month)
print(dt.strftime('%d'))
print('{:02d}'.format(dt.day))
print(f'{dt.day:02d}')
print('%02d' % dt.day)
Copy code
Output:
05
05
05
05
15
15
15
15
Copy code
Get the start and end dates of month data from a specific date
import pendulum
dt = pendulum.datetime(2012, 9, 5)
start = dt.start_of('month')
print(start.to_datetime_string())
end = dt.end_of('month')
print(end.to_datetime_string())
Copy code
Output:
2012-09-01 00:00:00
2012-09-30 23:59:59
Copy code
The difference between two dates in weeks
from datetime import date
date1 = date(2020, 12, 23)
date2 = date(2021, 5, 11)
days = abs(date1 - date2).days
print(days // 7)
Copy code
Output:
19
Copy code
Converts a date in string format to Unix Time stamp
import datetime
stime = '15/05/2021'
print(datetime.datetime.strptime(stime, "%d/%m/%Y").timestamp())
Copy code
Output:
1621017000.0
Copy code
Get the date of the last Sunday and Saturday
from datetime import datetime, timedelta
def prior_week_end():
return datetime.now() - timedelta(days=((datetime.now().isoweekday() + 1) % 7))
def prior_week_start():
return prior_week_end() - timedelta(days=6)
print('Sunday', format(prior_week_start()))
print('Saturday', format(prior_week_end()))
Copy code
Output:
Sunday 2021-05-09 13:13:30.057765
Saturday 2021-05-15 13:13:30.058912
Copy code
Check whether the object belongs to datetime.date type
import datetime
x = '2012-9-1'
y = datetime.date(2012, 9, 1)
print(isinstance(x, datetime.date))
print(isinstance(y, datetime.date))
Copy code
Output:
False
True
Copy code
Get the number of weeks for a specific date
import datetime
print(datetime.date(2020, 5, 15).isocalendar()[1])
Copy code
Output:
20
Copy code
obtain UTC Time
from datetime import datetime
dt = datetime.utcnow()
print(dt)
Copy code
Output:
2021-05-15 17:01:31.008808
Copy code
Get the start and end dates of the week
import pendulum
today = pendulum.now()
start = today.start_of('week')
print(start.to_datetime_string())
end = today.end_of('week')
print(end.to_datetime_string())
Copy code
Output:
2021-05-10 00:00:00
2021-05-16 23:59:59
Copy code
The difference between two dates ( In minutes )
from datetime import datetime
fmt = '%Y-%m-%d %H:%M:%S'
d1 = datetime.strptime('2010-01-01 17:31:22', fmt)
d2 = datetime.strptime('2010-01-03 17:31:22', fmt)
days_diff = d2 - d1
print(days_diff.days * 24 * 60)
Copy code
Output:
2880
Copy code
Converts a datetime object to a date string
import datetime
t = datetime.datetime(2020, 12, 23)
x = t.strftime('%m/%d/%Y')
print(x)
Copy code
Output:
12/23/2020
Copy code
Get last Friday
from datetime import date
from datetime import timedelta
today = date.today()
offset = (today.weekday() - 4) % 7
friday = today - timedelta(days=offset)
print(friday)
Copy code
Output:
2021-05-14
Copy code
take 3 Add week to any specific date
import pendulum
dt = pendulum.datetime(2012, 2, 15)
dt = dt.add(weeks=3)
print(dt.to_date_string())
Copy code
Output:
2012-03-07
Copy code
Generate a random date between the other two dates
import random
import time
def str_time_prop(start, end, time_format, prop):
stime = time.mktime(time.strptime(start, time_format))
etime = time.mktime(time.strptime(end, time_format))
ptime = stime + prop * (etime - stime)
return time.strftime(time_format, time.localtime(ptime))
def random_date(start, end, prop):
return str_time_prop(start, end, '%m/%d/%Y %I:%M %p', prop)
print(random_date("1/1/2020 1:10 PM", "1/1/2021 1:10 AM", random.random()))
Copy code
Output:
02/25/2020 08:26 AM
Copy code
Find the date of the first Monday from today
from dateutil.rrule import rrule, WEEKLY, MO
from datetime import date
next_monday = rrule(freq=WEEKLY, dtstart=date.today(), byweekday=MO, count=1)[0]
print(next_monday)
Copy code
Output:
2021-05-17 00:00:00
Copy code
The difference between two dates ( In days )
from datetime import date
d1 = date(2019, 8, 18)
d2 = date(2021, 12, 10)
days_diff = d2 - d1
print(days_diff.days)
Copy code
Output:
845
Copy code
Add six months to the current date
from datetime import datetime
from dateutil.relativedelta import *
date = datetime.now()
print(date)
date = date + relativedelta(months=+6)
print(date)
Copy code
Output:
2021-05-15 13:48:52.135612
2021-11-15 13:48:52.135612
Copy code
Convert the data time object to Unix( Time stamp )
import datetime
import time
# Saturday, October 10, 2015 10:10:00 AM
date_obj = datetime.datetime(2015, 10, 10, 10, 10)
print("Unix Timestamp: ", (time.mktime(date_obj.timetuple())))
Copy code
Output:
Unix Timestamp: 1444452000.0
Copy code
Will be 、 month 、 Japan 、 when 、 branch 、 Of a second N Add a number to the current date time
import datetime
from dateutil.relativedelta import relativedelta
add_days = datetime.datetime.today() + relativedelta(days=+6)
add_months = datetime.datetime.today() + relativedelta(months=+6)
add_years = datetime.datetime.today() + relativedelta(years=+6)
add_hours = datetime.datetime.today() + relativedelta(hours=+6)
add_mins = datetime.datetime.today() + relativedelta(minutes=+6)
add_seconds = datetime.datetime.today() + relativedelta(seconds=+6)
print("Current Date Time:", datetime.datetime.today())
print("Add 6 days:", add_days)
print("Add 6 months:", add_months)
print("Add 6 years:", add_years)
print("Add 6 hours:", add_hours)
print("Add 6 mins:", add_mins)
print("Add 6 seconds:", add_seconds)
Copy code
Output:
Current Date Time: 2017-04-04 18:32:10.192671
Add 6 days: 2017-04-10 18:32:10.191671
Add 6 months: 2017-10-04 18:32:10.192671
Add 6 years: 2023-04-04 18:32:10.192671
Add 6 hours: 2017-04-05 00:32:10.192671
Add 6 mins: 2017-04-04 18:38:10.192671
Add 6 seconds: 2017-04-04 18:32:16.192671
Copy code
Gets the date range... Between the specified start date and end date
import datetime
start = datetime.datetime.strptime("2016-06-15", "%Y-%m-%d")
end = datetime.datetime.strptime("2016-06-30", "%Y-%m-%d")
date_array = \
(start + datetime.timedelta(days=x) for x in range(0, (end-start).days))
for date_object in date_array:
print(date_object.strftime("%Y-%m-%d"))
Copy code
Output:
2016-06-15
2016-06-16
2016-06-17
2016-06-18
2016-06-19
2016-06-20
2016-06-21
2016-06-22
2016-06-23
2016-06-24
2016-06-25
2016-06-26
2016-06-27
2016-06-28
2016-06-29
Copy code
subtract N Years 、 month 、 Japan 、 when 、 branch 、 Seconds to the current date and time
import datetime
from dateutil.relativedelta import relativedelta
sub_days = datetime.datetime.today() + relativedelta(days=-6)
sub_months = datetime.datetime.today() + relativedelta(months=-6)
sub_years = datetime.datetime.today() + relativedelta(years=-6)
sub_hours = datetime.datetime.today() + relativedelta(hours=-6)
sub_mins = datetime.datetime.today() + relativedelta(minutes=-6)
sub_seconds = datetime.datetime.today() + relativedelta(seconds=-6)
print("Current Date Time:", datetime.datetime.today())
print("Subtract 6 days:", add_days)
print("Subtract 6 months:", add_months)
print("Subtract 6 years:", add_years)
print("Subtract 6 hours:", add_hours)
print("Subtract 6 mins:", add_mins)
print("Subtract 6 seconds:", add_seconds)
Copy code
Output:
Current Date Time: 2017-04-04 18:36:29.213046
Subtract 6 days: 2017-03-29 18:36:29.213046
Subtract 6 months: 2016-10-04 18:36:29.213046
Subtract 6 years: 2011-04-04 18:36:29.213046
Subtract 6 hours: 2017-04-04 12:36:29.213046
Subtract 6 mins: 2017-04-04 18:30:29.213046
Subtract 6 seconds: 2017-04-04 18:36:23.213046
Copy code
Gets the number of working days and days of the month on the first day of the month in the specified year and month
import calendar
print("Year:2002 - Month:2")
month_range = calendar.monthrange(2002, 2)
print("Weekday of first day of the month:", month_range[0])
print("Number of days in month:", month_range[1])
print()
print("Year:2010 - Month:5")
month_range = calendar.monthrange(2010, 5)
print("Weekday of first day of the month:", month_range[0])
print("Number of days in month:", month_range[1])
Copy code
Output:
Year:2002 - Month:2
Weekday of first day of the month: 4
Number of days in month: 28
Year:2010 - Month:5
Weekday of first day of the month: 5
Number of days in month: 31
Copy code
Print all Mondays for a particular year
from datetime import date, timedelta
year = 2018
date_object = date(year, 1, 1)
date_object += timedelta(days=1-date_object.isoweekday())
while date_object.year == year:
print(date_object)
date_object += timedelta(days=7)
Copy code
Output:
2018-01-01
2018-01-08
2018-01-15
2018-01-22
2018-01-29
2018-02-05
2018-02-12
...
2018-11-12
2018-11-19
2018-11-26
2018-12-03
2018-12-10
2018-12-17
2018-12-24
2018-12-31
Copy code
Print a calendar for a specific year
import calendar
cal_display = calendar.TextCalendar(calendar.MONDAY)
# Year: 2019
# Column width: 1
# Lines per week: 1
# Number of spaces between month columns: 0
# No. of months per column: 2
print(cal_display.formatyear(2019, 1, 1, 0, 2))
Copy code
Output:
A little
Copy code
Get the month name from the month number
import calendar
import datetime
# Month name from number
print("Month name from number 5:")
month_num = 1
month_abre = datetime.date(2015, month_num, 1).strftime('%b')
month_name = datetime.date(2015, month_num, 1).strftime('%B')
print("Short Name:", month_abre)
print("Full Name:", month_name)
print("\nList of all months from calendar")
# Print list of all months from calendar
for month_val in range(1, 13):
print(calendar.month_abbr[month_val], "-", calendar.month_name[month_val])
Copy code
Output:
Month name from number 5:
Short Name: Jan
Full Name: January
List of all months from calendar
Jan - January
Feb - February
Mar - March
Apr - April
May - May
Jun - June
Jul - July
Aug - August
Sep - September
Oct - October
Nov - November
Dec - December
Copy code
Get the start and end dates of a week from a given date
from datetime import datetime, timedelta
date_str = '2018-01-14'
date_obj = datetime.strptime(date_str, '%Y-%m-%d')
start_of_week = date_obj - timedelta(days=date_obj.weekday()) # Monday
end_of_week = start_of_week + timedelta(days=6) # Sunday
print(start_of_week)
print(end_of_week)
Copy code
Output:
2018-01-08 00:00:00
2018-01-14 00:00:00
Copy code
Find the date of the previous and next Monday according to the current date
import datetime
today = datetime.date.today()
last_monday = today - datetime.timedelta(days=today.weekday())
coming_monday = today + datetime.timedelta(days=-today.weekday(), weeks=1)
print("Today:", today)
print("Last Monday:", last_monday)
print("Coming Monday:", coming_monday)
Copy code
Output:
Today: 2018-01-21
Last Monday: 2018-01-15
Coming Monday: 2018-01-22
Copy code
Get the first and last dates of the current quarter
from datetime import datetime, timedelta
current_date = datetime.now()
current_quarter = round((current_date.month - 1) / 3 + 1)
first_date = datetime(current_date.year, 3 * current_quarter - 2, 1)
last_date = datetime(current_date.year, 3 * current_quarter + 1, 1)\
+ timedelta(days=-1)
print("First Day of Quarter:", first_date)
print("Last Day of Quarter:", last_date)
Copy code
Output:
First Day of Quarter: 2018-01-01 00:00:00
Last Day of Quarter: 2018-03-31 00:00:00
Copy code
copyright notice
author[Zhou radish],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/01/202201300313336217.html
The sidebar is recommended
- Getting started with Python - object oriented - special methods
- Using linear systems in python with scipy.linalg
- Fast power modulus Python implementation of large numbers
- Python architects recommend the book "Python programmer's Guide" which must be read by self-study Python architects. You are welcome to take it away
- Decoding the verification code of Taobao slider with Python + selenium, the road of information security
- Python game development, pyGame module, python implementation of skiing games
- Python collects and monitors system data -- psutil
- Python + selenium automated test: page object mode
- You can easily get started with Excel. Python data analysis package pandas (IV): any grouping score bar
- Python ThreadPoolExecutor restrictions_ work_ Queue size
guess what you like
-
Python generates and deploys verification codes with one click (Django)
-
[Python kaggle] pandas basic exercises in machine learning series (6)
-
Using linear systems in python with scipy.linalg
-
Using Python to realize national second-hand housing data capture + map display
-
How to make Python run faster? Six tips!
-
Python chat room (Tkinter writing interface, streaming, socket to realize private chat, group chat, check chat records, Mysql to store data)
-
This pandas exercise must be successfully won
-
[algorithm learning] sword finger offer 64 Find 1 + 2 +... + n (Java / C / C + + / Python / go / trust)
-
Understand Python's built-in function and add a print function yourself
-
Python implements JS encryption algorithm in thousands of music websites
Random recommended
- leetcode 35. Search Insert Position(python)
- [introduction to Python visualization]: 12 small examples of complete data visualization, taking you to play with visualization ~
- Learning this Python library can reduce at least 100 lines of code
- leetcode 67. Add Binary(python)
- Regular re parameter replacement of Python 3 interface automation test framework
- V. pandas based on Python
- Only 15 lines of code is needed for face detection! (using Python and openCV)
- [Python crawler Sao operation] you can crawl Sirius cinema movies without paying
- leetcode 69. Sqrt(x)(python)
- Teach you to read the source code of Cpython (I)
- Snowball learning started in the fourth quarter of Python. One needs three meals. I have a new understanding of Python functional programming, process-oriented, object-oriented and functional
- leetcode 88. Merge Sorted Array(python)
- Don't you know more about a python library before the end of 2021?
- Python crawler web page parsing artifact XPath quick start teaching!!!
- Use Python and OpenCV to watermark the image
- String and related methods of Python data type introduction
- Heapq module of Python module
- Introduction to beautiful soup of Python crawler weapon, detailed explanation, actual combat summary!!!
- Event loop of Python collaboration series
- Django docking pin login system
- [recalling the 1970s] using Python to repair the wonderful memories of parents' generation, black-and-white photos become color photos
- You used to know Python advanced
- Pyinstaller package Python project
- 2021 IEEE programming language rankings: Python tops the list!
- Implementation of Python automatic test control
- Python advanced: [Baidu translation reverse] graphic and video teaching!!!
- Do you know the fuzzy semantics in Python syntax?
- [Python from introduction to mastery] (XXVII) learn more about pilot!
- Playing excel office automation with Python
- Some applications of heapq module of Python module
- Python and go languages are so popular, which is more suitable for you?
- Python practical skills task segmentation
- Python simulated Login, numpy module, python simulated epidemic spread
- Python opencv contour discovery function based on image edge extraction
- Application of Hoff circle detection in Python opencv
- Python reptile test ox knife (I)
- Day 1: learn the Django framework of Python development
- django -- minio_ S3 file storage service
- [algorithm learning] 02.03 Delete intermediate nodes (Java / C / C + + / Python / go)
- Learning in Python + opencv -- extracting corners