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
{
    /// <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;
        }
     
    }
}

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章