C# 获取时间戳,时间戳与时间格式互转

最近项目中用到获取时间的功能,现在把用到的分享一下。

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;
} 

完毕。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值