/// <summary> /// 時間戳 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static Int64 getTimeStamp(DateTime dateTime) { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Convert.ToInt64(ts.TotalSeconds); } /// <summary> /// 時間戳轉本地時間 /// </summary> /// <param name="unixTimeStamp"></param> /// <returns></returns> public static DateTime getLocalDateTime(double unixTimeStamp) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); //當地時區 DateTime dtime = startTime.AddSeconds(unixTimeStamp); return dtime; }
https://www.cnblogs.com/yinmu/p/11228196.html
/// <summary> /// 獲取時間戳 /// </summary> /// <returns></returns> public string GetTimeStamp() { TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Convert.ToInt64(ts.TotalSeconds).ToString(); } /// <summary> /// 獲取時間戳 /// </summary> /// <returns></returns> public static string GetTimeStamp() { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Convert.ToInt64(ts.TotalMilliseconds).ToString(); }
把數據庫存的double類型時間戳轉成日期時間 (下面這個功能是遍歷DataTable,把原有的addTime(時間戳)轉為現有add_time日期字符串)
DataColumn dc = null; //原來的數據上增加一列 dc = dt.Columns.Add("add_time", Type.GetType("System.String")); //日期 for (int i = 0; i < dt.Rows.Count; i++) { Console.WriteLine(dt.Rows[i]["addTime"].ToString()); double unixTimeStamp = 0; if (dt.Rows[i]["addTime"].ToString().Trim() == null || dt.Rows[i]["addTime"].ToString().Trim() == "") { unixTimeStamp = 0; } else { unixTimeStamp = Convert.ToDouble(pe.dt.Rows[i]["addTime"].ToString()); } System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 當地時區 DateTime dtime = startTime.AddMilliseconds(unixTimeStamp); //dt.Rows[i]["addTime"] = dtime;//不能覆蓋原來值,報錯類型不一致,所以要新建一個row dt.Rows[i]["add_time"] = dtime.ToString("yyyy/MM/dd HH:mm:ss"); //dt.Rows.Add(dr);//如果新實例化 DataRow dr = dt.NewRow(); 一個行,需要加入這行 }
轉: https://www.cnblogs.com/yinmu/p/11228196.html