Table of contents
-
-
-
- 1. Datetime generates GMT time format
- Two, python converts timestamp and date formatting to each other
- 3. Python generates a certain range of date collections
- Fourth, python generates a certain date for today/yesterday/tomorrow
- Five, python format the date number 42380 of excel
- Sixth, python compares the size of two dates
-
-
1. Datetime generates GMT time format
- Case: The format generated in js is as follows
new Date()+Math.random(1000)
- Right now
'Sat Apr 30 2022 15:03:40 GMT+0800 (中国标准时间)0.25518323366967754'
- The python code is generated as follows
from datetime import datetime import random gmt_format = '%a %b %d %Y %H:%M:%S GMT+0800 (中国标准时间)' print(datetime.now().strftime(gmt_format) + str(random.random())) # Sat Apr 30 2022 15:06:03 GMT+0800 (中国标准时间)0.23243302776998054
Two, python converts timestamp and date formatting to each other
- python format timestamp into date
import time time_stamp = int(time.time()) # 10位长度时间戳 format_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp)) print(format_time) # 2022-04-30 15:15:36
- python convert date to timestamp
import time time_arr = time.strptime('2019-06-03 21:19:03', "%Y-%m-%d %H:%M:%S") time_tmp = time.mktime(time_arr) # 时间戳 print(int(time_tmp))
3. Python generates a certain range of date collections
- For example, the date generated a few days ago
import datetime def set_date_range(days_num): """ 设置日期范围 :return:返回日期列表,类似这种:['2019-09-10', '2019-09-09', '2019-09-08'] """ date_range = list() for num in range(days_num): str_day = str(datetime.date.today() - datetime.timedelta(days=num)) date_range.append(str_day) return date_range print(set_date_range(5)) # ['2022-04-30', '2022-04-29', '2022-04-28', '2022-04-27', '2022-04-26']
Fourth, python generates a certain date for today/yesterday/tomorrow
- Add and subtract dates by datetime.timedelta()
import datetime _days_num = 1 _days_num = 1 # 今天 now_date = str(datetime.date.today()) print(now_date) # 昨天 before_date = str(datetime.date.today() - datetime.timedelta(days=_days_num)) print(before_date) # 明天 after_date = str(datetime.date.today() + datetime.timedelta(days=_days_num)) print(after_date)
Five, python format the date number 42380 of excel
- Format the date format of numbers in excel
import datetime def conversion_date(dates: int): """ 定义转化日期戳的函数,dates为excel日期数字42380 :param dates: :return: """ delta = datetime.timedelta(days=dates) # 将1899-12-30转化为可以计算的时间格式并加上要转化的日期戳 today = datetime.datetime.strptime('1899-12-30', '%Y-%m-%d') + delta return datetime.datetime.strftime(today, '%Y-%m-%d') print(conversion_date(42380)) # 2016-01-11
Sixth, python compares the size of two dates
-
Compare date size first format
import datetime def diff_time(time_1, time_2, fmt='%Y-%m-%d'): """ 比较两个日期大小 :param time_1: 日期 2019-01-11 :param time_2: 日期 2019-01-11 :param fmt: 日期格式 :return: time_1 大于 time_2 则返回True """ if datetime.datetime.strptime(time_1, fmt) > datetime.datetime.strptime(time_2, fmt): return True # return False print(diff_time('2019-01-11', '2022-01-11')) print(diff_time('2024-01-11', '2022-01-11'))
-
Or convert to a timestamp to compare the size according to the previous
import time time_arr = time.strptime('2019-06-03 21:19:03', "%Y-%m-%d %H:%M:%S") time_tmp = time.mktime(time_arr) # 时间戳 print(int(time_tmp))