C#中DateTime和秒之間的互轉
阿新 • • 發佈:2019-01-05
本來很少用到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,則結果完全不對,不過它只用作相對時間應該是沒有問題的,但不能用作絕對時間