1. 程式人生 > >C#中DateTime和秒之間的互轉

C#中DateTime和秒之間的互轉

本來很少用到C#,但現在有些事情在用C#,所以不也不得不面臨其中的一些問題

這幾天用到了DateTime和秒之間的實際轉換,前幾天也有用到,但當時只是一個相對時間,不需要關心具體的值,所以當時寫了程式碼也就沒有多追究它了,今天必需面對正確的這個轉換,只好翻看了好幾個網址,大多數都寫的似乎看不懂

以下為各項的實現:

// 時間分量轉換成實際的秒數
public static ulong GetDateTime(int year, int month, int day, int hour, int minute, int second)
{
 ulong dateVal = 0;
 try
{ DateTime dt = new DateTime(year, month, day, hour, minute, second); DateTime dt0 = new DateTime(1970, 1, 1); TimeSpan ts = new TimeSpan(dt.Ticks - dt0.Ticks); dateVal = (ulong)ts.TotalSeconds; } catch (Exception e) { } return dateVal; } // 秒數轉換成日期 public static DateTime dtVal2Bcd(ulong dtVal) { DateTime dt = new
DateTime(1970, 1, 1); dt = dt.AddSeconds(dtVal); return dt; }

如果是直接用DateTime.Ticks,則結果完全不對,不過它只用作相對時間應該是沒有問題的,但不能用作絕對時間