1. 程式人生 > >Python 時間與秒數的轉換

Python 時間與秒數的轉換

最近在Python的工作中用到要把時間轉換成秒,或者把秒轉換成時間的問題。
把時間轉換成秒比較簡單:

ftime = float(datetime)

這樣ftime就是一個以秒為單位的時間了。

經過運算後,又需要把以秒為單位的時間轉換成時分秒的形式,一開始採用的是以下的程式碼:

total_time = time.strftime("%H:%M:%S", time.localtime( float(1852) ))
正確的輸出是:  00:30:52
但是實際輸出是:08:30:52

經查,因為本地時間(北京時間(GMT +8))比格林威治時間多了8小時,所以轉換的時候就在小時上多了8小時, 因此採用以下程式碼把秒轉換成時間:

total_time = time.strftime("%H:%M:%S", time.gmtime( float(1852) ))

此時的輸出就是正確的00:30:52.

Notes: 要注意迴圈的開始條件及結束條件(剛剛一個小程式的開始條件沒有處理好,所以在計數的時候總是少了1,就是因為第一個滿足條件的record沒有被計數, 浪費了半天時間。)

NOTE2

注意,如果從秒轉換成時分大於24小時,用上面的方法就不好了。這就需要自己編寫一個小程式去處理秒到時分秒的轉換了。這裡給出一個轉換的小程式如下 :

def sec2time(sec):
    ''' Convert seconds to '#D days#, HH:MM:SS.FFF' '''
if hasattr(sec,'__len__'): return [sec2time(s) for s in sec] m, s = divmod(sec, 60) h, m = divmod(m, 60) #d, h = divmod(h, 24) pattern = r'%02d:%02d:%02d' return pattern % (h, m, s)

同樣也給出一個時分秒到秒的轉換小程式:

這裡寫代def t2s(t): #t format is hh:mm:ss
    if t != '0':
        h,m,s = t.strip().split(":"
) return int(h) * 3600 + int(m) * 60 + int(s) else: return 0

相關推薦

Python 時間轉換

最近在Python的工作中用到要把時間轉換成秒,或者把秒轉換成時間的問題。 把時間轉換成秒比較簡單: ftime = float(datetime) 這樣ftime就是一個以秒為單位的時間了。 經過運算後,又需要把以秒為單位的時間轉換成時分秒的形式,

Python 時間-時-分- 的互相轉換(轉)

一:時間轉成秒數 st = "08:30:30" et = "9:33:33" #方法一 def t2s(t): h,m,s = t.strip().split(":") return int(h) * 3600 + int(m) * 60 +

python——時間時間戳之間的轉換

python mktime var arr oca string new per 函數 1、將時間轉換成時間戳 將如上的時間2017-09-16 11:28:54轉換成時間戳 利用strptime()函數將時間轉換成時間數組 利用mktime()函數將時間數組轉換成時間戳

python 時間時間戳之間的轉換

tails style span 新的 時間格式 art 有時 ews log https://blog.csdn.net/kl28978113/article/details/79271518 對於時間數據,如2016-05-05 20:28:54,有時需要與時間戳進行

js中的時間毫秒互相轉換

 【1】js毫秒時間轉換成日期時間 var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒數   //不是上面格式的時間需要轉換    //starttime ='2012-12-25 20:1

python時間時間戳之間的轉換

在字串與時間戳之間的相互轉換應用很廣,這裡沒考慮時區,預設的是本地時區 #!/usr/bin/env python # -*- coding: utf-8 -*- # created by fhqplzj on 2017/11/14 上午9:28 import time f

js 時分秒轉換

1. 時間戳 格式化為 時分秒(00:00:00) /** * 時間秒數格式化 * @param s 時間戳(單位:秒) * @returns {*} 格式化後的時分秒 */ var sec_to_ti

【前端js】時間毫秒互相轉換

【1】js毫秒時間轉換成日期時間 var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒數 //不是上面格式的時間需要

js中的時間毫秒互相轉換,倒計時

1、日期格式轉換成毫秒數 var oldTime = (new Date("2017-03-22 11:11:11")).getTime(); //得到毫秒數         也可以支援  "2017/03/22 11:11:11" 2、毫秒轉化成時間       var

linux下如何把時間轉成,或把轉換成標準時間格式

$ date Tue Feb 3 11:29:00 CST 2009 --把時間轉成秒數 $ date +%s 1233631748 --把秒數轉換成標準時間格式(方法1) $ date -d '1970-1-1 0:0:0 GMT + 1233631748 seconds

Python時間日期函講解

ron 對象 tar 3-0 所有 ptime date min python 所有日期、時間的api都在datetime模塊內。 1. 日期輸出格式化 datetime => string import datetime now = datetime.datetim

Python-字典json的轉換

字典 分層 直接 ads 後綴 轉換 indent 內容 user #json是字符串,只不過長得像字典import jsonuser_info=‘‘‘{"niuhy":1234,"shanbl":44566}‘‘‘#json裏只能是雙引號print(user_info)u

js時間毫秒互相轉換

art rep ons 格式 date lac 得到 需要 gettime 1)日期轉換為毫秒 如果格式是:yyyy/mm/dd hh:mm:ss可以直接轉換。var oldTime = (new Date("2018/07/09 14:13:11")).getTime(

python 列表字典相互轉換

bubuko 內置函數 sin 技術 for 分享圖片 ima 字符 復數類 1. 2個列表轉換為字典 #encoding=utf-8list1=["a","b","c"]list2=[1,2,3]d={}for i in range(len(list1)): d[l

python------Jsonpickle據序列化

clas ola 識別 int -- text 數據 () write 一.json序列化 xml在被json取代,不同平臺之間的語言轉換,只能處理簡單的。復雜的用pickle; pickle只能在python中用,而在Java中json也可以被識別。 info

轉換為時分秒的形式java形式

ava clas 時分秒 bsp color string oid args print 將一個秒數轉換為時分秒形式,例如91秒=00:01:31 public class Main { public static void main(String[] args

javascriptphp時/分/互轉

cond log pre UNC ole arr 時間 min seconds javascript: /* 時間轉換成秒 */ function time_to_second(time){ var arr = time.split(‘:‘) var hour = arr[

Python 字串十進位制的轉換

寫在前面 我真是要氣死了!每次都記不住python字串和十進位制之間的轉換!每次用到還要各種查資料問別人,結果都要花好久的時間……這種情況不下3次!!這次一定要記下來! python2.7 字串轉為十進位制:首先要將字串轉為16進位制,再轉為十進位制 十進位制轉為字串:首先要將十進位制轉

Python字典JSON資料轉換

JSON在python中分別由list和dict組成。 在python中,JSON模組提供以下四個功能, dumps、dump、loads、load。其中dumps把資料型別轉換成字串 dump把資料型別轉換成字串並存儲在檔案中 loads把字串轉換成資料型別 load把檔案開啟從字串轉換成

python整數IP地址轉換 python整數IP地址轉換 [轉]

python整數與IP地址轉換 [轉] 我們有時會將一個整數與IP地址進行互換,用python程式碼實現很簡單 將一個整數如2000000,變為一個IP地址的方式 >>> import socket >>>