mysql 时间戳表示 距离 1970年1月1日 00:00:00 的秒数,在mysql中有函数转化,C#中可以 根据1970来直接计算秒数即可
mysql
select unix_timestamp('2018-01-15 09:45:16');
select from_unixtime(1515980716);
C#
static DateTime unixStartTime =TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区unix开始时间
/// <summary>
/// 将unix时间戳转化为datetime
/// </summary>
/// <param name="unixTimeStamp"></param>
/// <returns></returns>
public static DateTime FromUnixStamp(int unixTimeStamp)
{
DateTime dt = unixStartTime.AddSeconds(unixTimeStamp);
return dt;
}
/// <summary>
/// 将datetime转化为unix时间戳
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static int ToUnixStamp(DateTime dt)
{
int timeStamp = (int)(dt - unixStartTime).TotalSeconds; // 相差秒数
return timeStamp;
}