2016-04-14 31 views
2

我現在有時間戳,自公元1月1日零時零時零時零時,公元公曆格里曆,在搜索後我注意到一些人稱之爲「原生Symbian時間」 ?無論如何,我真的不知道如何將這個「原生Symbian時間」轉換爲Unix時間(自Epoch以來的時間)。在C/C++中是否有任何標準函數來執行此操作?c/C++ - 在Unix時間和「公曆時間」之間進行轉換

實例數據是這樣的:63626825878362695,63626825878363759,63626825878657652

+0

如果有幫助,那個時代是1970年1月1日午夜以來的時間,因此您可以計算當前時間戳與重新創建時代之間的秒數。 – CodeMouse92

+0

其實這個問題是http://stackoverflow.com/q/11979655/472647 – CodeMouse92

回答

1
  1. 你將需要64位運算,或大數。
  2. 如果my tool幫我帶着這樣的疑問是正確的,有0000年1月(陽曆proleptic)和1月1日,1970年
  3. 之間62167132800秒到UNIX時間轉換爲Symbian的,加62167132800和乘以1000000繁殖。
  4. Symbian的時間轉換爲Unix,除以1000000減去62167132800.

它看起來像你給的三個值(它們中的所有在同一秒)的約10天前。

+0

的一個副本,另一個不錯的選擇是使用[wolfram](http://www.wolframalpha.com/)來獲取'在01/01/0000和01/01/01「之間的秒數」。 – ddz

+0

@LuizEduardoF。呵呵。我按照你的建議嘗試了Wolfram,並得到了不同的答案。但是我已經仔細檢查了我的情況,並且我很確定62167132800是正確的。我想知道那是怎麼回事? –

+1

我不知道原因。也許我問了錯誤的問題?輸入解釋是:'來自|的秒數星期六,公元前1年1月1日(1月1日)至1970年1月1日星期四',它給出62167219200. 62167132800(你的答案)和62167219200(wolfram的回答)之間的區別是24小時或86400秒。 – ddz