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
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
/// <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# 将GUID转换为最长16位的短字符串序号
C# GUID序列号转换生成唯一的16位短字符串或19位长数字序号
EF提交数据:DbUpdateException:不能更新时间戳列。(Timestamp类型)|C/S开发框架
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
C# 时间戳(Timestamp)与标准时间(DateTime)互转-C/S开发框架
C#按指定字节长度截取字符串(每个汉字长度2字节)-C/S开发框架
C# Byte数组操作-C/S开发框架
C# MD5字符串文本加密
按指定字节长度截取字符串(每个汉字长度2字节)
C# Datetime转Utc时间戳Timestamp
C#.NET DateTime时间格式转换为Unix时间戳格式(int类型)
C#.NET 处理字符串数据去左右空格、全角转半角
StrUtils类:字符串处理/加密解密函数库
C#统计List 字符串属性长度(返回每个属性的最大长度)|C/S开发框架
MySql数据库连接字符串(ConnectionString)配置参数大全|C/S开发框架
C# Color颜色字符串互相转换
C# 将GUID转换为最长16位的短字符串序号
C# GUID序列号转换生成唯一的16位短字符串或19位长数字序号
EF提交数据:DbUpdateException:不能更新时间戳列。(Timestamp类型)|C/S开发框架
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
C# 时间戳(Timestamp)与标准时间(DateTime)互转-C/S开发框架
C#按指定字节长度截取字符串(每个汉字长度2字节)-C/S开发框架
C# Byte数组操作-C/S开发框架
C# MD5字符串文本加密
按指定字节长度截取字符串(每个汉字长度2字节)
C# Datetime转Utc时间戳Timestamp
C#.NET DateTime时间格式转换为Unix时间戳格式(int类型)
C#.NET 处理字符串数据去左右空格、全角转半角
StrUtils类:字符串处理/加密解密函数库
C#统计List 字符串属性长度(返回每个属性的最大长度)|C/S开发框架
MySql数据库连接字符串(ConnectionString)配置参数大全|C/S开发框架
C# Color颜色字符串互相转换
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
