C#时间格式转换为时间戳

本文转载自: http://blog.csdn.net/ZFSR05255134/article/details/53066873?locationNum=4&fps=1   

为了防止连接丢失,自己转载了一下。 

  1. using System.Collections;  
  2. using System;  
  3.   
  4. /// <summary>  
  5. /// C#时间格式转换为时间戳(互转)  
  6. /// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。   
  7. /// </summary>  
  8. public class DateTime_TimeStamp : MonoBehaviour  
  9. {  
  10.     protected int m_timestamp;  
  11.   
  12.     /// <summary>  
  13.     /// 获取时间戳Timestamp    
  14.     /// </summary>  
  15.     /// <param name="dt"></param>  
  16.     /// <returns></returns>  
  17.     private int GetTimeStamp(DateTime dt)  
  18.     {  
  19.         DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0);  
  20.         int timeStamp = Convert.ToInt32((dt - dateStart).TotalSeconds);  
  21.         return timeStamp;  
  22.     }  
  23.   
  24.     /// <summary>  
  25.     /// 时间戳Timestamp转换成日期  
  26.     /// </summary>  
  27.     /// <param name="timeStamp"></param>  
  28.     /// <returns></returns>  
  29.     private DateTime GetDateTime(int timeStamp)  
  30.     {  
  31.         DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  
  32.         long lTime = ((long)timeStamp * 10000000);  
  33.         TimeSpan toNow = new TimeSpan(lTime);  
  34.         DateTime targetDt = dtStart.Add(toNow);  
  35.         return targetDt;  
  36.     }  
  37.   
  38.     /// <summary>  
  39.     /// 时间戳Timestamp转换成日期  
  40.     /// </summary>  
  41.     /// <param name="timeStamp"></param>  
  42.     /// <returns></returns>  
  43.     private DateTime GetDateTime(string timeStamp)  
  44.     {  
  45.         DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  
  46.         long lTime = long.Parse(timeStamp + "0000000");  
  47.         TimeSpan toNow = new TimeSpan(lTime);  
  48.         DateTime targetDt = dtStart.Add(toNow);  
  49.         return dtStart.Add(toNow);  
  50.     }  
  51.   
  52.     void OnGUI()  
  53.     {  
  54.         if (GUILayout.Button("获取当前时间的时间戳"))  
  55.         {  
  56.             DateTime dtNow = DateTime.Now;  
  57.             m_timestamp = GetTimeStamp(dtNow);  
  58.             Debug.Log(string.Format("获取当前时间的时间戳 = {0} -> {1}", dtNow.ToString("yyyy-MM-dd hh:mm:ss"), m_timestamp));  
  59.         }  
  60.   
  61.         if (GUILayout.Button("将时间戳转换成日期_1"))  
  62.         {  
  63.             DateTime dt = GetDateTime(m_timestamp);  
  64.             Debug.Log(string.Format("将时间戳转换成日期_1 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));  
  65.         }  
  66.   
  67.         if (GUILayout.Button("将时间戳转换成日期_2"))  
  68.         {  
  69.             DateTime dt = GetDateTime(m_timestamp.ToString());  
  70.             Debug.Log(string.Format("将时间戳转换成日期_2 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));  
  71.         }  
  72.     }  
  73. }  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值