# -*- coding: utf-8 -*- # @Time : 2022/12/1 14:14 # @Author : XuJiakai # @File : datetime_utils # @Software: PyCharm import time import datetime import re def get_ds(): return time.strftime("%Y%m%d") def get_yesterday_ds(): return (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y%m%d") pass def get_now(): return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') def datetime_format_transform(datetime_str: str, source_format: str, target_format: str): middle = datetime.datetime.strptime(datetime_str, source_format) return datetime.datetime.strftime(middle, target_format) pass _date_part_1 = re.compile('^\\d{4}年\\d{2}月\\d{2}日$') _date_part_2 = re.compile('^\\d{4}-\\d{2}-\\d{2}$') _datetime_part = re.compile('^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$') def datetime_format(input_time): if input_time is not None and _date_part_1.match(input_time): input_time = datetime_format_transform(input_time, '%Y年%m月%d日', "%Y-%m-%d %H:%M:%S") pass if input_time is not None and _date_part_2.match(input_time): input_time = datetime_format_transform(input_time, '%Y-%m-%d', "%Y-%m-%d %H:%M:%S") pass if input_time is not None and not _datetime_part.match(input_time): input_time = None pass return input_time pass if __name__ == '__main__': print(datetime_format('- - ')) pass