C# 时间与时间戳互转 13位
标签:str get 格式转换 ret localtime one substring http 验证
原文:C# 时间与时间戳互转 13位
///
/// 获取时间戳
///
///
public static string GetTimeStamp(System.DateTime time)
{
long ts = ConvertDateTimeToInt(time);
return ts.ToString();
}
///
/// 将c# DateTime时间格式转换为Unix时间戳格式
///
/// 时间
/// long
public static long ConvertDateTimeToInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
long t = (time.Ticks - startTime.Ticks) / 10000; //除10000调整为13位
return t;
}
///
/// 时间戳转为C#格式时间
///
///
///
private DateTime ConvertStringToDateTime(string timeStamp)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000");
TimeSpan toNow = new TimeSpan(lTime);
return dtStart.Add(toNow);
}
///
/// 时间戳
///
public class TimeHelp
{
///
/// 获取时间戳
///
///
public static string GetTimeStamp(System.DateTime time,int length=13)
{
long ts = ConvertDateTimeToInt(time);
return ts.ToString().Substring(0,length);
}
///
/// 将c# DateTime时间格式转换为Unix时间戳格式
///
/// 时间
/// long
public static long ConvertDateTimeToInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
long t = (time.Ticks - startTime.Ticks) / 10000; //除10000调整为13位
return t;
}
///
/// 时间戳转为C#格式时间
///
///
///
public static DateTime ConvertStringToDateTime(string timeStamp)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000");
TimeSpan toNow = new TimeSpan(lTime);
return dtStart.Add(toNow);
}
///
/// 时间戳转为C#格式时间10位
///
/// Unix时间戳格式
/// C#格式时间
public static DateTime GetDateTimeFrom1970Ticks(long curSeconds)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
return dtStart.AddSeconds(curSeconds);
}
///
/// 验证时间戳
///
///
/// 差值(分钟)
///
public static bool IsTime(long time, double interval)
{
DateTime dt = GetDateTimeFrom1970Ticks(time);
//取现在时间
DateTime dt1 = DateTime.Now.AddMinutes(interval);
DateTime dt2 = DateTime.Now.AddMinutes(interval * -1);
if (dt > dt2 && dt dt1)
{
return true;
}
else {
return false;
}
}
///
/// 判断时间戳是否正确(验证前8位)
///
///
///
public static bool IsTime(string time)
{
string str = GetTimeStamp(DateTime.Now,8);
if (str.Equals(time))
{
return true;
}
else {
return false;
}
}
}
C# 时间与时间戳互转 13位
标签:str get 格式转换 ret localtime one substring http 验证
原文地址:https://www.cnblogs.com/lonelyxmas/p/8615023.html
评论