一般来说,每个语言都会有自己的各种 date time 对象,然后,基于这些 date time 对象,又会衍生出来一堆的各种方法,什么加加减减的,但是,如果是在多种语言之间切换的话,一种一种去记,其实很累,多年下来,摸索出来一个方法,就是只用 yyyymmdd 这种 string 和 timestamp 这种 int64,同时搞好互转,这个思路在各个语言都能行得通,包括 sql 等,而且,关键是在各种语言都能一以贯之,说白了,这两种东西,一个是方便机器存储和计算,一个是方便人类阅读,想要加一天减一天啥的,都能通过这个方式来实现,在 Python 里,这个可以一行搞定
datetime.datetime.strftime(datetime.datetime.fromtimestamp(time.mktime(time.strptime('20190606','%Y%m%d')) - 3600*24),'%Y%m%d')