C# 获取时间戳,时间戳与时间格式互转
最近项目中用到获取时间的功能,现在把用到的分享一下。1. 时间戳转为+00:00时区 日期格式 yyyy/MM/dd HH:mm:ss/// <summary>///时间戳转为+00:00时区 日期格式yyyy/MM/dd HH:mm:ss/// </summary>/// <param name="timeStamp"></param>/// &l
·
最近项目中用到获取时间的功能,现在把用到的分享一下。
1. 时间戳转为+00:00时区 日期格式 yyyy/MM/dd HH:mm:ss
/// <summary>
/// 时间戳转为+00:00时区 日期格式 yyyy/MM/dd HH:mm:ss
/// </summary>
/// <param name="timeStamp"></param>
/// <returns></returns>
public static DateTime GetUtcDateTime(string timeStamp)
{
long lTime = long.Parse(timeStamp);
return DateTimeOffset.FromUnixTimeSeconds(lTime).DateTime;
}
2. 时间戳转为本地日期格式 yyyy/MM/dd HH:mm:ss
/// <summary>
/// 时间戳转为本地日期格式 yyyy/MM/dd HH:mm:ss
/// </summary>
/// <param name="timeStamp"></param>
/// <returns></returns>
public static DateTime GetDateTime(string timeStamp)
{
long lTime = long.Parse(timeStamp);
return DateTimeOffset.FromUnixTimeSeconds(lTime).LocalDateTime;
}
3. 获取现在时间戳,秒
/// <summary>
/// 获取现在时间戳,秒
/// </summary>
/// <returns></returns>
public static string GetTimeStamp()
{
return DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
}
4. 获取现在时间戳,毫秒
/// <summary>
/// 获取现在时间戳,毫秒
/// </summary>
/// <returns></returns>
public static string GetMilliTimeStamp()
{
return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
}
5. 日期转时间戳 , 精确到秒
/// <summary>
/// 日期转时间戳 , 精确到秒
/// </summary>
/// <returns></returns>
public static string ToSecondsTimeStamp(this DateTime dateTime)
{
return ((dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000000).ToString();
}
6. 日期转时间戳 , 精确到毫秒
/// <summary>
/// 日期转时间戳 , 精确到毫秒
/// </summary>
/// <returns></returns>
public static string ToMillisecondsTimeStamp(this DateTime dateTime)
{
return ((dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString();
}
7. 计算一个时间戳与当前时间的间隔
/// <summary>
/// 计算一个时间戳与当前时间的间隔
/// </summary>
///<param name="timeStamp"></param>
/// <returns></returns>
public static TimeSpan GetTimeSpan(string timeStamp)
{
long lTime = long.Parse(timeStamp);
var DateTimeUnix = DateTimeOffset.FromUnixTimeSeconds(lTime);
//计算两个时间间隔
TimeSpan timeSpan = new TimeSpan(DateTimeOffset.UtcNow.Ticks - DateTimeUnix.Ticks);
return timeSpan;
}
8. 计算两个时间戳的间隔
/// <summary>
/// 计算两个时间戳的间隔
/// </summary>
///<param name="timeStamp1"></param>
///<param name="timeStamp2"></param>
/// <returns></returns>
public static TimeSpan GetTwoTimeSpan(string timeStamp1, string timeStamp2)
{
//获取时间戳,并将其转换为DateTimeOffset
//var UninTimeStamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
long lTime1 = long.Parse(timeStamp1);
long lTime2 = long.Parse(timeStamp2);
var DateTimeUnix1 = DateTimeOffset.FromUnixTimeSeconds(lTime1);
var DateTimeUnix2 = DateTimeOffset.FromUnixTimeSeconds(lTime2);
//计算两个时间间隔
TimeSpan timeSpan = new TimeSpan(DateTimeUnix2.Ticks - DateTimeUnix1.Ticks);
return timeSpan;
}
完毕。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)