請問關於時間運算問題? |
答題得分者是:mephise
|
icjh3238
一般會員 發表:2 回覆:0 積分:0 註冊:2010-11-28 發送簡訊給我 |
|
Victor4022
中階會員 發表:0 回覆:76 積分:90 註冊:2011-02-20 發送簡訊給我 |
|
mephise
高階會員 發表:4 回覆:149 積分:205 註冊:2004-02-09 發送簡訊給我 |
補充一下關於 Delphi 及 BCB 中的時間相關知識
在 TDateTime 這個資料型態中, 時間其實是以浮點數的方式呈現 時間的計算從 1899/12/30 開始, 每天加1. 也就是說 12/30/1899 12:00 am = 0 12/31/1899 12:00 am = 1 Now() 1/86400 = 現在的時間加1秒 (因為一天有86400秒 所以 1/86400 = 1秒) 以此類推 當然 Delphi 中也有許多早就幫你寫好的日期時間函數, 你可以直接在 Help 中打上 Datetime routines 就會列出來
------
Mephise Chen 前興德工程師 |
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
我一直在想,為甚麼會是 1899/12/30 ?為甚麼不用 1900/01/01(二十世紀第一天)?而 1899/12/30 也不是十九世紀的最後一天,真是有點奇怪。
===================引 用 mephise 文 章=================== 補充一下關於 Delphi 及 BCB 中的時間相關知識 在 TDateTime 這個資料型態中, 時間其實是以浮點數的方式呈現 時間的計算從 1899/12/30 開始, 每天加1. 也就是說 12/30/1899 12:00 am = 0 12/31/1899 12:00 am = 1 Now() 1/86400 = 現在的時間加1秒 (因為一天有86400秒? 所以 1/86400 = 1秒)? 以此類推 當然 Delphi 中也有許多早就幫你寫好的日期時間函數, 你可以直接在 Help 中打上 Datetime routines 就會列出來 |
mephise
高階會員 發表:4 回覆:149 積分:205 註冊:2004-02-09 發送簡訊給我 |
這我也不知道, 好像是根據CMOS裡面的Clock的計數就是從這時間開始的
此外, M$ SQL, ASP .NET 也都是從這時間開始計算的 ===================引 用 cancer 文 章=================== 我一直在想,為甚麼會是 1899/12/30 ?為甚麼不用 1900/01/01(二十世紀第一天)?而 1899/12/30 也不是十九世紀的最後一天,真是有點奇怪。 ===================引 用 mephise 文 章=================== 補充一下關於 Delphi 及 BCB 中的時間相關知識 在 TDateTime 這個資料型態中, 時間其實是以浮點數的方式呈現 時間的計算從 1899/12/30 開始, 每天加1. 也就是說 12/30/1899 12:00 am = 0 12/31/1899 12:00 am = 1 Now() 1/86400 = 現在的時間加1秒 (因為一天有86400秒? 所以 1/86400 = 1秒)? 以此類推 當然 Delphi 中也有許多早就幫你寫好的日期時間函數, 你可以直接在 Help 中打上 Datetime routines 就會列出來
------
Mephise Chen 前興德工程師 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |