俗话说,工欲善其事必先利其器,所以在使用日期前要先对日期进行处理,所以时间戳和字符串的来回来去转换这个事肯定是要搞的
这次的函数有一个?有两个?有三个?有四个!上代码!
哈哈,像不像直播带货
本次用到3个内置包
import re
import time
import calendar
第一个,日期转时间戳
# 日期字符串转时间戳 def str_timestamp(str_value): rev = re.compile('[-\/: ]+') str_value = re.sub(rev,'',str_value) if len(str_value) == 8: str_value += '000000' to_str_format = '%Y%m%d%H%M%S' pre_time = time.strptime(str_value, to_str_format) timestamp_value = time.mktime(pre_time) return timestamp_value
这个函数有点长,为了避免乱七八糟的情况报错,就同意先把字符串处理成统一格式,然后再转时间戳
第二个,时间戳转日期
# 日期时间戳转字符串 def timestamp_str(timestamp_value): pre_time = time.localtime(timestamp_value) to_str_format = '%Y%m%d%H%M%S' str_time = time.strftime(to_str_format,pre_time) return str_time
这个没有乱七八糟的情况,时间戳都是统一的格式,所以直接转就行了,转完了是YYYYMMDDHH24MIDD格式的
第三个,获取当前时间的字符串
# 获取当前时间-字符串 def now_time(): timestamp_value = time.time() str_value = timestamp_str(timestamp_value) return str_value
用到了前面的时间戳转日期那个函数,也就是直接获取当前时间的时间戳,然后转成字符串就行了
第四个,获取指定日期是星期几
# 获取星期几 def str_weekday(str_value): year = str_value[:4] month = str_value[4:6] day = str_value[6:8] week_day = calendar.weekday(int(year),int(month),int(day)) return week_day
这个函数传进来的参数是个字符串,例如‘20220918’这种,先把年月日分别截取出来,然后丢函数里直接算就行了
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python的日期处理 - Python技术站