# -*- coding:utf-8 -*-
import time,datetime
def str2date(d:str):
# 字符串格式化为日期
return datetime.datetime.strptime(d,"%Y-%m-%d")
def stamp2str(stamp: int) -> str:
"""
将时间戳转化为日期并格式化
:param stamp:时间戳 str
:return: date str
"""
try:
second = stamp / 1000
result = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(second))
return result
except Exception as e:
return str(e)
def second2time(second: int) -> str:
"""
将 second 转换为时间字符串
:param second: 120
:return: "00:02:00"
"""
m, s = divmod(second, 60)
h, m = divmod(m, 60)
return "{:02d}:{:02d}:{:02d}".format(h, m, s)
def time2second(t: str) -> int:
"""
将时间字符串转换为 second
:param t: "00:02:00"
:return: 120
"""
h, m, s = t.split(":")
return int(h) * 3600 + int(m) * 60 + int(s)
def str2stamp(s: str) -> int:
"""
将字符串时间转换为 timestamp
:param s: "20180101 10:00:00"
:return: 1514772000
"""
time_array = time.strptime(s, "%Y%m%d %H:%M:%S")
return time.mktime(time_array)
def get_duration_days(days:int,day=None):
"""
将字符串时间转换为 timestamp
:param days: 天数
:param day: 基准日期
:return: 1514772000
"""
if day is None:
day = datetime.date.today()
else:
day = datetime.datetime.strptime(day.replace("-",""),"%Y%m%d")
day = datetime.date.strftime(day + datetime.timedelta(days=days), '%Y%m%d')
return day
def date_range(start: str, days: int) -> pd.DataFrame:
"""
生成时间填充序列
:param start: 开始日期
:param days: 天数
:return:
"""
index = pd.date_range(start, periods=days, freq="D")
return pd.DataFrame({"some": list(range(len(index)))}, index=index)