1. 程式人生 > >.net 字串型別轉換成日期型別

.net 字串型別轉換成日期型別

日期的處理:
我們在處理日期格式常用DateTime.Pares()
但是這個形式的轉換是相當有限的,有些C#是會不懂你寫入的日期格式的如20031231大家都明白是
2003- 12-31號可以C#不認識他.我們可以這樣子進行如下
//設定語言國家
System.IFormatProvider format=new System.Globalization.CultureInfo("zh-CN",true);
//指定轉換格式
Response.Write(DateTime.ParseExact(this.TextBox1.Text,"yyyyMMdd",format));
這樣他就能看出20031231號的日期格式了
不過可惜他只能夠對yyyyMMdd形式進行不能對其它格式進行轉換是不是美中不足?
不過.NET提供了另一種過載版本.
public static DateTime ParseExact(string, string[], IFormatProvider, DateTimeStyles);
可對指定的幾種日期格式進行轉換.
不過具體的操作我想還是大家自己去試驗一下效果可能會更好一些 。

日期型資料和長整型資料之間的轉換

  為什麼要將日期型資料轉換為長整型資料呢?原因很多,但就我個人來說,經常將它用於資料庫的日期儲存。由於各種資料庫對日期型的定義和處理是不 一樣的,各種語言對日期型資料的定義的處理也各不相同,因為,我寧願將日期型資料轉換成長整型再儲存到資料庫中。雖然也可以使用字串來儲存,但使用字元 串也會涉及到許多問題,如區域等問題,而且,它需要比儲存長整型資料更多的空間。
  日期型資料,在 C# 中的參與運算的時候,應該也是轉換為長整型資料來運算的。它的長整型值是自 0001 年 1 月 1 日午夜 12:00 以來所經過時間以 100 毫微秒為間隔表示時的數字。這個數在 C# 的 DateTime 中被稱為 Ticks(刻度)。DateTime 型別有一個名為 Ticks 的長整型只讀屬性,就儲存著這個值。如此,要從一個 DataTime 型資料得到 long 型值就非常簡單了,只需要讀出 DataTime 物件的 Ticks 值即可,如:

long longDate = DateTime.Now.Ticks;

  DateTime 的建構函式中也提供了相應的,從長整型資料構造 DateTime 型資料的函式:DateTime(long)。如:


DateTime theDate = new DateTime(longDate);