Delphi中獲取Unix時間戳 秒 毫秒

2021-10-23 23:01:40 字數 840 閱讀 5549

按秒轉換:

uses dateutils;

datetimetounix(now)

可以轉換到unix時間,但是,它得到的時間比c語言中time()得到的時間大了86060

這是因為now是當前時區的時間,

c語言中time()是按格林威治時間計算的,

北京時間比格林威治時間多了8小時

datetimetounix(now)-86060 就和c語言中time()得到的一樣了。

delphi中的datetimetounix時間函式沒有經過任何的轉換,是直接讀取系統時間

就算改變當前計算機時區,發現delphi返回值沒有任何改變。

在c++中,改變計算機時區,則time()返回值也隨著改變,這就說明c++中標準時間是通過本地時間和當前時區進行計算得來的。

在delphi開發時,需要注意delphi獲取的時間戳是當前計算機所在時區時間,並非標準utc時間。

unixtodatetime()函式並沒有對時區進行轉換,僅僅是對時間進行了轉換。

按毫秒轉換

function datetimetomilliseconds(const adatetime: tdatetime): int64; //獲得毫秒

varltimestamp: ttimestamp;

begin

ltimestamp := datetimetotimestamp(adatetime);

result := ltimestamp.date;

result := (result * msecsperday) + ltimestamp.time;

end;

樂考網

C 獲取Unix時間戳

什麼是unix時間戳?unix時間戳 unix timestamp 或稱unix時間 unix time posix時間 posix time 是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。unix時間戳不僅被使用在unix系統 類unix系統中,...

用Delphi獲取當前系統時間

在開發應用程式時往往需要獲取當前系統時間。儘管y2k似乎已經平安過去,但在我們新開發的應用程式中還是要謹慎處理 時間 問題。在 融會貫通 delphi4.0實戰技巧 以下簡稱 該書 第89頁專門介紹了兩種獲取當前系統時間的方法,但這兩種方法都存在不足或錯誤,以下就此進行討論。該書第一種方法是利用ti...

用Delphi獲取當前系統時間

在開發應用程式時往往需要獲取當前系統時間。儘管y2k似乎已經平安過去,但在我們新開發的應用程式中還是要謹慎處理 時間 問題。在 融會貫通 delphi4.0實戰技巧 以下簡稱 該書 第89頁專門介紹了兩種獲取當前系統時間的方法,但這兩種方法都存在不足或錯誤,以下就此進行討論。該書第一種方法是利用ti...