[开发笔记]-unix时间戳、GMT时间与datetime类型时间之前的转换
2013-06-13 18:40
495 查看
前段时间项目中涉及到了MySql和MsSql数据类型之间的转换,最近又在研究新浪微博的API,涉及到了带有时区的GMT时间类型的转换,所以,特记录于此,以备日后查询。
一:UNIX时间戳与datetime时间之间的转换
1. 将Unix时间戳转换为DateTime类型时间
方法一:
方法二:
2.在SQL Server Management Studio 中查询并转换:
3. 将DateTime时间格式转换为Unix时间戳格式
二:将新浪微博中带有时区的GMT时间转换为DateTime
三:转换效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/25/78763be2f23f63423b5a217b98ba35fb.jpg)
相应代码:
转载请注明出处。
一:UNIX时间戳与datetime时间之间的转换
1. 将Unix时间戳转换为DateTime类型时间
方法一:
/// <summary> /// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// http://www.cnblogs.com/babycool /// <param name="d"></param> /// <returns></returns> public static DateTime ConvertIntToDateTime(double d) { System.DateTime time = System.DateTime.MinValue; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); time = startTime.AddSeconds(d); return time; }
方法二:
/// <summary> /// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// http://www.cnblogs.com/babycool /// <param name="time"></param> /// <returns></returns> static DateTime ConvIntToDateTime(long time) { DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳 long t = (time + 8 * 60 * 60) * 10000000 + timeStamp.Ticks; DateTime dt = new DateTime(t); return dt; }
2.在SQL Server Management Studio 中查询并转换:
--将Unix时间戳转换为dateline类型 select top 10 DATEADD(SS,regdate,'1970-01-01 00:00:00') from dbo.uc_members
3. 将DateTime时间格式转换为Unix时间戳格式
/// <summary> /// 将DateTime时间格式转换为Unix时间戳格式 /// </summary> /// http://www.cnblogs.com/babycool /// <param name="time"></param> /// <returns></returns> public static double ConvertDateTimeToInt(System.DateTime time) { double intResult = 0; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); intResult = (time - startTime).TotalSeconds; return intResult; }
二:将新浪微博中带有时区的GMT时间转换为DateTime
/// <summary> /// 将新浪微博中带有时区的GMT时间转换为DateTime /// </summary> /// http://www.cnblogs.com/babycool /// <param name="dateString">微博时间字符串</param> /// <returns>DateTime</returns> public static DateTime ParseUTCDate(string dateString) { System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture; DateTime dt = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", provider); return dt; }
三:转换效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/25/78763be2f23f63423b5a217b98ba35fb.jpg)
相应代码:
//新浪微博返回的时间是带有时区的GMT时间,转换为datetime类型时间格式: // GMT时间: Tue May 31 17:46:55 +0800 2011 Response.Write("将GMT时间转换为datetime类型时间:"); Response.Write(ParseUTCDate("Tue May 31 17:46:55 +0800 2011").ToString()); Response.Write("<br/>"); //UNIX时间戳 1176686120 Response.Write("将UNIX时间戳转换为datetime类型时间:"); Response.Write(ConvertIntToDateTime(1176686120)); Response.Write("<br/>"); Response.Write("方法二:"); Response.Write(ConvIntToDateTime(1176686120)); Response.Write("<br/>"); Response.Write("将datetime类型时间转换为UNIX时间戳:"); Response.Write(ConvertDateTimeToInt(ConvertIntToDateTime(1176686120))); Response.Write("<br/>");
转载请注明出处。
相关文章推荐
- 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- 将GMT时间字符串转换为DateTime类型
- Unity开发基础——类型转换学习笔记
- c# datetime与 timeStamp(unix时间戳) 互相转换
- IOS开发时间格式转换之──C语言中time_t数据类型转为NSString类型
- 时间DateTime类型转换为字符串String格式方法汇总 获得最后一次编译时间
- oracle中日期类型与unix 时间戳的转换
- UTC、GMT、Unix Time、Unix epoch、POSIX time、Unix timestamp以及本机时间转换 问题
- 将时间类型DateTime数据转换成毫秒Int型
- Unix时间戳与C# DateTime时间类型互换
- Code15 转换/格式化Unix时间差到DateTime
- 把string类型的时间数据,转换成datetime类型。
- ios开发学习笔记003-流程控制和类型转换
- String类型的时间转换成datetime类型,并实现减法
- oracle中日期类型与unix 时间戳的转换
- Unix时间戳与C# DateTime时间类型、C语言互换 1970-01-01 00:00:00
- 长整形 Unix系统毫秒时间 (long类型) 转换为时间格式
- Unix时间戳与C# DateTime时间类型互换
- iOS开发笔记之Timestamp时间戳与各地区实际时间格式的相互转换