自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

日期型數(shù)據(jù)轉(zhuǎn)換成C#長(zhǎng)整型數(shù)據(jù)

開發(fā) 后端
這里介紹日期型數(shù)據(jù)轉(zhuǎn)換成C#長(zhǎng)整型數(shù)據(jù),由于各種數(shù)據(jù)庫(kù)對(duì)日期型的定義和處理是不一樣的,各種語(yǔ)言對(duì)日期型數(shù)據(jù)的定義的處理也各不相同,因?yàn)?,我寧愿將日期型?shù)據(jù)轉(zhuǎn)換成長(zhǎng)整型數(shù)據(jù)再保存到數(shù)據(jù)庫(kù)中。

C#語(yǔ)言還是比較常見(jiàn)的東西,這里我們主要介紹日期型數(shù)據(jù)轉(zhuǎn)換成C#長(zhǎng)整型數(shù)據(jù),包括介紹DateTime 的構(gòu)造函數(shù)等方面。

日期型數(shù)據(jù)轉(zhuǎn)換成C#長(zhǎng)整型數(shù)據(jù)

為什么要將日期型數(shù)據(jù)轉(zhuǎn)換成C#長(zhǎng)整型數(shù)據(jù)呢?原因很多,但就我個(gè)人來(lái)說(shuō),經(jīng)常將它用于數(shù)據(jù)庫(kù)的日期存儲(chǔ)。由于各種數(shù)據(jù)庫(kù)對(duì)日期型的定義和處理是不一樣的,各種語(yǔ)言對(duì)日期型數(shù)據(jù)的定義的處理也各不相同,因?yàn)?,我寧愿將日期型?shù)據(jù)轉(zhuǎn)換成長(zhǎng)整型數(shù)據(jù)再保存到數(shù)據(jù)庫(kù)中。雖然也可以使用字符串來(lái)保存,但使用字符串也會(huì)涉及到許多問(wèn)題,如區(qū)域等問(wèn)題,而且,它需要比保存C#長(zhǎng)整型數(shù)據(jù)更多的空間。

日期型數(shù)據(jù),在 C# 中的參與運(yùn)算的時(shí)候,應(yīng)該也是轉(zhuǎn)換為長(zhǎng)整型數(shù)據(jù)來(lái)運(yùn)算的。它的長(zhǎng)整型值是自 0001 年 1 月 1 日午夜 12:00 以來(lái)所經(jīng)過(guò)時(shí)間以 100 毫微秒為間隔表示時(shí)的數(shù)字。這個(gè)數(shù)在 C# 的 DateTime 中被稱為 Ticks(刻度)。DateTime 類型有一個(gè)名為 Ticks 的長(zhǎng)整型只讀屬性,就保存著這個(gè)值。如此,要從一個(gè) DataTime 型數(shù)據(jù)得到 long 型值就非常簡(jiǎn)單了,只需要讀出 DataTime 對(duì)象的 Ticks 值即可,如:

  1. long longDate = DateTime.Now.Ticks; 

DateTime 的構(gòu)造函數(shù)中也提供了相應(yīng)的,從長(zhǎng)整型數(shù)據(jù)構(gòu)造 DateTime 型數(shù)據(jù)的函數(shù):DateTime(long)。如:

  1. DateTime theDate = new DateTime(longDate); 

但這樣對(duì)于很多 VB6 程序員來(lái)說(shuō),是給他們出了一道難題,因?yàn)?VB6 中的日期型數(shù)據(jù)內(nèi)部是以 Double 型表示的,將其轉(zhuǎn)換為長(zhǎng)整型后得到的僅僅是日期,而沒(méi)有時(shí)間。如何協(xié)調(diào)這兩種日期類型呢?

System.DateTime 提供了 double ToOADate() 和 static DateTime FromOADate(double) 兩個(gè)函數(shù)來(lái)解決這個(gè)問(wèn)題。前者將當(dāng)前對(duì)象按原來(lái)的 double 值輸出,后者則從一個(gè) double 值獲得一個(gè) System.DateTime 對(duì)象。舉例如下:

  1. private void TestDateTimeLong() {  
  2. double doubleDate = DateTime.Now.ToOADate();  
  3. DateTime theDate = DateTime.FromOADate(doubleDate);  
  4. this.textBox1.Text = "";  
  5. this.textBox1.AppendText("Double value of now: " + doubleDate.ToString() + "\n");  
  6. this.textBox1.AppendText("DateTime from double value: " + theDate.ToString() + "\n");  

運(yùn)行結(jié)果:

  1. Double value of now: 37494.661541713  
  2. DateTime from double value: 2002-8-26 15:52:37 

【編輯推薦】

  1. C#創(chuàng)建Windows服務(wù)詳細(xì)介紹
  2. C#動(dòng)態(tài)編譯簡(jiǎn)單剖析
  3. C#靜態(tài)字段與實(shí)例字段分析
  4. C#匿名方法詳細(xì)剖析
  5. C#命名屬性簡(jiǎn)單描述
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-08-28 11:16:51

C#日期型數(shù)

2009-08-28 10:50:17

C#字節(jié)數(shù)組轉(zhuǎn)換成字符

2009-08-24 14:20:13

C# 強(qiáng)制類型轉(zhuǎn)換

2009-08-28 15:49:35

C# Control類

2010-09-09 11:02:36

SQL函數(shù)IP

2009-08-07 13:39:13

C#定義整型數(shù)組

2011-03-23 09:54:47

數(shù)據(jù)模型數(shù)據(jù)庫(kù)設(shè)計(jì)

2009-09-01 16:35:55

C#操作String數(shù)

2009-08-13 16:44:45

C#數(shù)據(jù)轉(zhuǎn)換

2009-08-12 16:26:27

C#數(shù)據(jù)類型轉(zhuǎn)換

2022-07-27 09:20:40

MySQL數(shù)據(jù)庫(kù)測(cè)試

2009-08-05 14:09:04

C#日期轉(zhuǎn)換

2022-10-12 09:55:14

xls文件xlsx文件

2020-05-29 09:34:28

httphttps網(wǎng)絡(luò)協(xié)議

2009-10-26 10:08:44

VB.NET工程轉(zhuǎn)換成

2009-08-28 10:08:02

C#數(shù)值類型之間轉(zhuǎn)換

2009-08-24 16:46:04

C# 泛型

2009-08-24 09:55:26

C#接口轉(zhuǎn)換

2009-08-10 16:47:45

Visual C#數(shù)據(jù)

2009-10-21 16:35:40

VB格式輸出函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)