C#日期类型转换工具(时间戳,字符串,long,byte类型互转)

  C#日期类型转换工具(时间戳,字符串,long,byte类型互转)

C#日期类型转换工具(时间戳,字符串,long,byte类型互转)



测试案例:



C# Code:

byte[] bs = TimestampHelper.DateTimeToBytes(DateTime.Now);//8位数组
DateTime dt = TimestampHelper.BytesToDateTime(bs);//数值转日期

string str = TimestampHelper.GetTimeStamp();//"1509154870"
DateTime dt1 = TimestampHelper.GetDateTime(str);//{2017/10/28 9:41:10}

long dd = TimestampHelper.ToLong(DateTime.Now);//1509154889
DateTime dt2 = TimestampHelper.GetDateTime(dd);//{2017/10/28 9:41:29}

//来源:C/S框架网(www.csframework.com) QQ:23404761




C#日期类型转换工具



C# Code:

/// <summary>
/// 日期类型转换工具
/// </summary>
public class TimestampHelper
{
   
   /// <summary>
   /// Unix时间戳转为C#格式时间
   /// </summary>
   /// <param name="timeStamp">Unix时间戳格式,例如:1482115779, 或long类型</param>
   /// <returns>C#格式时间</returns>
   public static DateTime GetDateTime(string timeStamp)
   {
      DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
      long lTime = long.Parse(timeStamp + "0000000");
      TimeSpan toNow = new TimeSpan(lTime);
      return dtStart.Add(toNow);
   }
   
   /// <summary>
   /// 时间戳转为C#格式时间
   /// </summary>
   /// <param name="timeStamp">Unix时间戳格式</param>
   /// <returns>C#格式时间</returns>
   public static DateTime GetDateTime(long timeStamp)
   {
      DateTime time = new DateTime();
      try
      {
         DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
         long lTime = long.Parse(timeStamp + "0000000");
         TimeSpan toNow = new TimeSpan(lTime);
         time = dtStart.Add(toNow);
      }
      catch
      {
         time = DateTime.Now.AddDays(-30);
      }
      return time;
   }
   
   /// <summary>
   /// DateTime时间格式转换为Unix时间戳格式
   /// </summary>
   /// <param name="time"></param>
   /// <returns></returns>
   public static long ToLong(System.DateTime time)
   {
      System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
      return (long)(time - startTime).TotalSeconds;
   }
   
   /// <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();
   }
   
   //来源:C/S框架网(www.csframework.com) QQ:23404761
   




C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C#日期类型转换工具(时间,字符串,long,byte类型)
C#.NET DateTime时间格式转换为Unix时间格式(int类型)
C# DatetimeUtc时间Timestamp
MySql 时间Timestamp字段类型的字段作为主键模拟用户并发操作
C# Hashtable与object实体对象
TypeConverter.ConvertFromString 通用方法:字符串转换为具体的类型
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
文件或目录的长文件名与短文件名转换C#.Net
C# 将数组、集合、可枚举类型转换成逗号分隔的字符串(String.Join)
将SQLServer数据类型转换C#.Net类型
CS开发框架之自增字段(Identity),时间(Timestamp)字段处理|C/S框架网
VS2010中出现无法嵌入操作类型
C#.NET 对象(字符串)转换常用扩展方法
VS版本转换工具下载 (含C#源码)
C# 将GUID转换为最长16位的短字符串序号
C#.NET 处理字符串数据去左右空格、全角半角
C#转换IList对象数组为byte数组.然后通过WebService传递
C#类扩展方法,字符串对象转换,常用扩展方法StringExtensions
C#.NET扩展的动态对象支持动态属性和方法以及Json格式与对象
Sql类型与.Net(C#)类型对应关系表()