/// <summary>
/// datetime转换为unixtime
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
private int ConvertDateTimeInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (int)(time - startTime).TotalSeconds;
}
private String ConvertDateTimeStr( System.DateTime time )
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime ( new System.DateTime ( 1970, 1, 1 ) );
return ( time - startTime ).TotalSeconds.ToString().Split('.')[0];
}
//时间戳转换为 C# 日期格式
private DateTime StampToDateTime( string timeStamp )
{
DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime ( new DateTime ( 1970, 1, 1 ) );
long lTime = long.Parse ( timeStamp + "0000000" );
TimeSpan toNow = new TimeSpan ( lTime );
return dateTimeStart.Add ( toNow );
}
/// <summary>
/// 时间转换 毫秒级别的时间戳
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static string GetChinaTicks(DateTime dateTime)
{
//北京时间相差8小时
DateTime startTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1,8, 0, 0, 0), TimeZoneInfo.Local);
long t = (dateTime.Ticks - startTime.Ticks) / 10000; //除10000调整为13位
return t.ToString();
}