最近做shopEX平臺訂單對接,因爲shopEX是Php的,所以在提交訂單的時間格式首先轉換成unix時間格式,然後才能提交成功。
相同的,有response返回的所有的日期格式都是unix時間格式,所以要轉換成系統時間我們才能使用。
在網上搜了一下,整理了一下,下面是我用C#編寫的小例子,供各位參考。數據的嚴謹性,需要在實際使用時進行相應的判斷操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
相同的,有response返回的所有的日期格式都是unix時間格式,所以要轉換成系統時間我們才能使用。
在網上搜了一下,整理了一下,下面是我用C#編寫的小例子,供各位參考。數據的嚴謹性,需要在實際使用時進行相應的判斷操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
/// <summary>
/// unix與windowns日期格式互換
/// zhangyong 2012/03/07
/// </summary>
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);
}
/// <summary>
/// 將nuix中的日期格式轉換成正常日期格式,前提傳入的格式正確
/// </summary>
/// <param name="timestampString">傳入的時間戳</param>
/// <returns></returns>
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");
}
/// <summary>
/// 將正常的日期轉換成unix日期時間戳格式
/// </summary>
/// <param name="timestampString">正常日期轉換成的字符串格式如:yyyy-MM-dd HH:mm:ss</param>
/// <returns>unix時間</returns>
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;
{
/// <summary>
/// unix與windowns日期格式互換
/// zhangyong 2012/03/07
/// </summary>
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);
}
/// <summary>
/// 將nuix中的日期格式轉換成正常日期格式,前提傳入的格式正確
/// </summary>
/// <param name="timestampString">傳入的時間戳</param>
/// <returns></returns>
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");
}
/// <summary>
/// 將正常的日期轉換成unix日期時間戳格式
/// </summary>
/// <param name="timestampString">正常日期轉換成的字符串格式如:yyyy-MM-dd HH:mm:ss</param>
/// <returns>unix時間</returns>
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;
}
}
}
}
}