Python3 时间转换那事

在 Python 中,大多数是用于对于数据的获取及处理。其中关于时间的各种转换和应用 是在这过程中碰到的比较多的地方,时间的转换处理不算难,但是会比较繁琐,在本文章里,会把时间转换的方式方法进行一一列举说明。

注:本文代码都是基于 Python3 来说明展示的。

用法1. 获取时间戳

关于 Python 的时间戳,这里有个小知识点,就是在大多其他的编程语言里,得到的时间戳是 12 位的数,而在 Python 里得到的时间戳是9位的,是因为其他语言的个位值为毫秒值,在Python里个位值为秒,所以其中的转换关系也很简单:

python_stamp * 1000 = other_stamp

直接得到 当前时间戳

有两种方便的方法获取当前的时间戳,一种是根据time来获取,这也是最常用的方法,其次就是 datetime 提供的 now() 也可以获取到当前的时间戳

#方式1 
time.time()
#方式2
datetime.datetime.now().timestamp()```

###根据 字符串 得到对应的时间戳
如根据类似 ”2000-01-01 00:00:01“ 的字符串形式,得到对应的时间戳值

source = "2000-01-01 00:00:59"
time_format = "%Y-%m-%d %H:%M:%S"
struct_time = time.strptime(source, time_format)
timeStamp = time.mktime(struct_time)```

根据 datetime 对象 得到对应的时间戳

#获取当前时间的datetime对象
curr_datetime = datetime.datetime.now() 
timeStamp = curr_datetime.timestamp()```


##用法2. 得到时间格式的字符串
得到例如 ”2000-01-01 00:00:01“ 的字符串。
这里说明关于字符串的转换,必不可少的是 对应的日期格式 的字符代码 表示,比如: %Y表示的是 年、%m表示的是 月,等等这些。这里有个官方的文档 [Format Codes](http://t.cn/RK1wopB)  很详细的说明了各种格式,可以根据自己的需求进行查阅。
### 由 datetime 得到想要的字符串格式

curr_datetime = datetime.datetime.now() #获取当前时间的datetime对象
time_format = "%Y-%m-%d %H:%M:%S"
time_str = curr_datetime.strftime(time_format)```

根据 时间戳

source_stamp = 946656059.0
datetime_obj  = datetime.datetime.fromtimestamp(source_stamp)
time_format = "%Y-%m-%d %H:%M:%S"
time_str = datetime_obj.strftime(time_format)```

##用法3.获得 datetime 对象
###3.1 由字符串转 datetime

source = "2000-01-01 00:00:59"
time_format = "%Y-%m-%d %H:%M:%S"
datetime_obj = datetime.datetime.strptime(source, time_format)```

3.2 由时间戳转 datetime

source_stamp = 946656059.0
datetime_obj  = datetime.datetime.fromtimestamp(source_stamp)

用法4. 获取时间差

经常会有俩个时间对比的应用场景,对比想差多少秒,想差多少天等,这里就是列举用于这里的对比。

4.1 两个时间为时间戳的形式对比

Python里的时间戳个位数代表的是秒,所以当两个时间戳值相减得出的结果,直接就是两个时间想差的秒数,后面就是代码举例说明:

source_stamp_1 = 946656001.0
source_stamp_2 = 946936223.0
diff_stamp = source_stamp_2 - source_stamp_1

diff_s = diff_stamp
diff_m = diff_stamp/60
diff_h = diff_stamp/3600
diff_day = diff_stamp/3600/24

print('diff_s[两个时间戳想差的秒数值]:',diff_s)
print('diff_m[两个时间戳想差的分钟值]:',diff_m)
print('diff_h[两个时间戳想差的小时值]:',diff_h)
print('diff_day[两个时间戳想差的天数值]:',diff_day) ```
这种方法不好的地方在于由于本身的时间戳带有很精确的值,所以计算得到的结果很有可能有很多位的小数位,在大多数情况下,是没有必要这样的,所以处理方法也很简单,将得到的值 强转成 int 类型就可以了,比如以上的例子的结果可以像下面这样:

print('diff_s[两个时间戳想差的秒数值]:',int(diff_s))
print('diff_m[两个时间戳想差的分钟值]:',int(diff_m))
print('diff_h[两个时间戳想差的小时值]:',int(diff_h))
print('diff_day[两个时间戳想差的天数值]:',int(diff_day))```

4.2 两个时间为 datetime 的形式对比

这种的对比由于用的是 Python 自带的方法,所以比较官方,正式,是常推荐的方法。

diff_s = (datetime_2 - datetime_1).total_seconds()
diff_day = (datetime_2 - datetime_1).days

print('diff_s[两个时间戳想差的秒数值]',diff_s)
print('diff_day[两个时间戳想差的天数值]', diff_day)```

到此,此篇文章就结束了,希望可以帮助到看到此篇文章的人,及留给以后的自己进行查阅 🔚
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容