modTime 函式庫 |
風禹科技驗證有限公司 網站 提供 .Net 原始碼 |
MyGetDateFromNetDateTime 函數
說明
將 .Net framework DataTime 型別轉換為 VB5/6 之 Variant Date
本函數之引數列表
引數 |
型態 |
位元組 |
選項 |
預設值 |
說明 |
dValue |
Double |
8 |
必須 |
(無) |
.Net framrework DataTime 之值,由於在 VB6 中無 8 Bytes 整數型別,故請透過 Currency, Decimal, Double 轉換與存取。 |
srcFlags |
enuCPUTimes |
4 |
可省略 |
Ticks |
輸入 dValue 的單位,預設為 Ticks 屬性,一般由傳址呼叫或由檔案讀出時,可直接讀為 Ticks 值,在本函數中 xxxxTime 均不作用。列舉常數為:
常數名 |
數值 |
說明 |
CreationTime |
0 |
建立時間,真實時間 |
ExitTime |
1 |
結束時間,真實時間 |
KernelTime |
2 |
核心時間,從建立時間開始起算 |
UserTime |
3 |
使用者時間,從建立時間開始起算 |
CPUTime |
4 |
CPU 時間,同工作管理員處理程序內之時間 |
IdleTime |
1 |
CPU 閒置時間,同工作管理員處理程序內 System Idle Process 之 CPU 時間 |
VariantDate |
0 |
傳回 VB 之 Variant Date |
Ticks |
65536 |
傳回總 Ticks 值,100 奈秒 (1/10000000 秒) |
Milliseconds |
131072 |
傳回總毫秒數,Variant Double |
Seconds |
262144 |
傳回總秒數,Variant Double |
Minutes |
524288 |
傳回總分鐘數,Variant Double |
Hours |
1048576 |
傳回總小時數,Variant Double |
Days |
2097152 |
傳回總天數,Variant Double |
|
dstFlags |
enuCPUTimes |
4 |
可省略 |
VariantDate |
欲輸出之時間,在本函數中 xxxxTime 均不作用。列舉常數為:
常數名 |
數值 |
說明 |
CreationTime |
0 |
建立時間,真實時間 |
ExitTime |
1 |
結束時間,真實時間 |
KernelTime |
2 |
核心時間,從建立時間開始起算 |
UserTime |
3 |
使用者時間,從建立時間開始起算 |
CPUTime |
4 |
CPU 時間,同工作管理員處理程序內之時間 |
IdleTime |
1 |
CPU 閒置時間,同工作管理員處理程序內 System Idle Process 之 CPU 時間 |
VariantDate |
0 |
傳回 VB 之 Variant Date |
Ticks |
65536 |
傳回總 Ticks 值,100 奈秒 (1/10000000 秒) |
Milliseconds |
131072 |
傳回總毫秒數,Variant Double |
Seconds |
262144 |
傳回總秒數,Variant Double |
Minutes |
524288 |
傳回總分鐘數,Variant Double |
Hours |
1048576 |
傳回總小時數,Variant Double |
Days |
2097152 |
傳回總天數,Variant Double |
|
傳回值
依設定選項傳回 Date 或 Double
範例
Debug.Print MyGetDateFromNetDateTime(632810518851853680,Ticks,VariantDate)
2006/4/19 下午 01:58:05
更進一步
本函數可將 .Net framework 下 DateTime 型別轉換為 VB 5/6 的 Variant Date ,一般狀況應不至於碰上此情形,若直接由 .Net framework 建構之二進位檔讀取日期,可透過 Currency 型別讀取後,做 CDbl(Currency) * 10000 轉換後,作為本函數之引數, .Net framework 以 0001/01/01 00:00:00 為時間原點。
基本條件
Visual Basic 4 以後 | modTime.bas
請參閱
modTime 函式庫