datetime.date
from datetime import date today = date.today() print(type(today)) # <class 'datetime.date'> print(today) # 2022-08-19
datetime.datetime
เวลาปัจจุบันของ server
from datetime import datetime now = datetime.now() # current date and time print(type(now)) # <class 'datetime.datetime'> print(now) # 2022-08-19 07:51:55.893002
นำเวลาปัจจุบันของ server มาบวก 7 ชั่วโมง
import datetime now = datetime.datetime.now() print(now) # 2022-08-19 08:32:36.803853 now = now + datetime.timedelta(hours=7) print(now) # 2022-08-19 15:32:36.803853
from datetime import datetime
now = datetime.now() # current date and time
year = now.strftime("%Y")
print("year:", year)
# year: 2022
month = now.strftime("%m")
print("month:", month)
# month: 08
day = now.strftime("%d")
print("day:", day)
# day: 19
time = now.strftime("%H:%M:%S")
print("time:", time)
# time: 08:12:42
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)
# date and time: 08/19/2022, 08:12:42
time.struct_time
from datetime import datetime now = datetime.now() # current date and time time_tuple = now.timetuple() print(type(time_tuple)) # <class 'time.struct_time'> print(now) # 2022-08-19 07:55:03.144893 print(time_tuple) # time.struct_time(tm_year=2022, tm_mon=8, tm_mday=19, tm_hour=7, tm_min=55, tm_sec=3, tm_wday=4, tm_yday=231, tm_isdst=-1)
timestamp
หาค่า timestamp จาก current date และ time
import time from datetime import datetime now = datetime.now() # current date and time time_tuple = now.timetuple() timestamp = int(time.mktime(time_tuple)) print(now) # 2022-08-19 07:59:21.232243 print(timestamp) # 1660895961
เปลี่ยน type ของข้อมูล (float, int, str, bytes)
import time from datetime import datetime now = datetime.now() # current date and time time_tuple = now.timetuple() timestamp = time.mktime(time_tuple) print(type(timestamp)) print(timestamp) # <class 'float'> # 1660898887.0 timestamp = int(timestamp) print(type(timestamp)) print(timestamp) # <class 'int'> # 1660898887 timestamp = str(timestamp) print(type(timestamp)) print(timestamp) # <class 'str'> # 1660898887 timestamp = str.encode(timestamp) print(type(timestamp)) print(timestamp) # <class 'bytes'> # b'1660898887' timestamp = timestamp.decode() print(type(timestamp)) print(timestamp) # <class 'str'> # 1660898887
หาค่า timestamp จากวันที่ ที่กำหนด
import time from datetime import datetime # date in string format dt="19/08/2022" time_tuple = datetime.strptime(dt, "%d/%m/%Y").timetuple() print(time_tuple) # time.struct_time(tm_year=2022, tm_mon=8, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=231, tm_isdst=-1) timestamp = time.mktime(time_tuple) print(timestamp) # 1660867200.0
day of a week from Datetime
- Python Get the Day of the Week [5 Ways] – PYnative
- datetime — Basic date and time types — Python 3.11.2 documentation
The weekday() method we used above returns the day of the week as an integer, where Monday is 0 and Sunday is 6.
from datetime import datetime
# get current datetime
dt = datetime.now()
print('Datetime is:', dt)
# get day of week as an integer
x = dt.weekday()
print('Day of a week is:', x)
# output
# Datetime is: 2023-03-20 15:50:11.044832
# Day of a week is: 0
from datetime import datetime, timedelta
dt = datetime.now() - timedelta(days=1)
print('Datetime is:', dt)
x = dt.weekday()
print('Day of a week is:', x)
# Datetime is: 2023-03-19 15:52:50.568494
# Day of a week is: 6
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().
from datetime import datetime
# get current datetime
dt = datetime.now()
print('Datetime is:', dt)
print('Weekday is:', dt.isoweekday())