C#中unix与windows时间格式互转
最近做shopEX平台订单对接,因为shopEX是Php的,所以在提交订单的时间格式首先转换成unix时间格式,然后才能提交成功。相同的,有response返回的所有的日期格式都是unix时间格式,所以要转换成系统时间我们才能使用。在网上搜了一下,整理了一下,下面是我用C#编写的小例子,供各位参考。数据的严谨性,需要在实际使用时进行相应的判断操作。using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;
namespace ConsoleApplication1{ /// /// unix与windowns日期格式互换 /// zhangyong 2012/03/07 /// class Program { private static readonly string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); static void Main(string[] args) { string DataStr = time; Program p = new Program(); string tempTime = p.ConvertToUnix(DataStr); string ssd = p.ConvertToWin(tempTime); } /// /// 将nuix中的日期格式转换成正常日期格式,前提传入的格式正确 /// /// 传入的时间戳 /// public String ConvertToWin(String timestampString) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1)); long lTime = long.Parse(timestampString + "0000000"); TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); return dtResult.ToString("yyyy-MM-dd HH:mm:ss"); } /// /// 将正常的日期转换成unix日期时间戳格式 /// /// 正常日期转换成的字符串格式如:yyyy-MM-dd HH:mm:ss /// unix时间 public string ConvertToUnix(string dateTime) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); DateTime dtNow = DateTime.Parse(dateTime); TimeSpan toNow = dtNow.Subtract(dtStart); string timeStamp = toNow.Ticks.ToString(); timeStamp = timeStamp.Substring(0, timeStamp.Length - 7); return timeStamp;
} }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。