python的日期处理,


我的博客

俗话说,工欲善其事必先利其器,所以在使用日期前要先对日期进行处理,所以时间戳和字符串的来回来去转换这个事肯定是要搞的

这次的函数有一个?有两个?有三个?有四个!上代码!

哈哈,像不像直播带货

本次用到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’这种,先把年月日分别截取出来,然后丢函数里直接算就行了

评论关闭