1. datetime系列#
一般来说用from datetime import datetime
1. .fromtimestamp#
接收一个浮点ts参数,返回datetime结构体,可接续使用datetime内置方法
经典场景:ts -> 格式化timestrdatetime.fromtimestamp(ts).strftime('%Y-%m-%d-%H:%M:%S')
</>
python
1def ts2timestr(ts:float) -> str:
2 return datetime.fromtimestamp(ts).strftime('%Y-%m-%d-%H:%M:%S')2. .strptime#
接收1. 格式化timestr, 2. 格式format;返回datetime结构体(接续使用其他内置方法)
经典场景:格式化timestr -> tsdatetime.strptime(timestr, pattern).timestamp()
</>
python
1def timestr2ts(timestr, pattern='%Y-%m-%d %H:%M:%S'):
2 return datetime.strptime(timestr, pattern).timestamp()3. .replace#
- python hint
</>
python
1(method) def replace(
2 year: SupportsIndex = ...,
3 month: SupportsIndex = ...,
4 day: SupportsIndex = ...,
5 hour: SupportsIndex = ...,
6 minute: SupportsIndex = ...,
7 second: SupportsIndex = ...,
8 microsecond: SupportsIndex = ...,
9 tzinfo: _TzInfo | None = ...,
10 *,
11 fold: int = ...
12) -> datetime一般使用关键字参数指定参数传参:.replace(hour=23, minute=59, second=59, microsecond=0)
- 使用场景:
- 获取当天的23:59:59的timestamp值
- 进阶:获取任意一天的末尾(23:59:59)ts值。使用
datetime.timedelta对象控制天数
</>
python
1def get_end_of_day(base=datetime.now(), delta=timedelta(days=0)):
2 return (base + delta).replace(hour=23, minute=59, second=59, microsecond=0).timestamp()