C# 如何生成一个时间戳


1
2
3
4
5
6
7
8
9
/// <summary> 
/// 获取时间戳 
/// </summary> 
/// <returns></returns> 
public  static  string  GetTimeStamp() 
     TimeSpan ts = DateTime.UtcNow -  new  DateTime(1970, 1, 1, 0, 0, 0, 0); 
     return  Convert.ToInt64(ts.TotalSeconds).ToString(); 

经常发现很多地方使用一个时间戳表示时间。比如: 1370838759  表示 2013年6月10日 12:32:39。 我们就需要一个工具,方便地转换这种时间格式

 

什么是时间戳?

时间戳, 又叫Unix Stamp. 从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

 

C# 时间戳转换为普通时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 时间戳转为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);
         }
 
         // DateTime时间格式转换为Unix时间戳格式
         private  int  DateTimeToStamp(System.DateTime time)
         {
             System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime( new  System.DateTime(1970, 1, 1));
             return  ( int )(time - startTime).TotalSeconds;
         }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM