温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中unix与windows时间格式互转

发布时间:2020-06-26 13:17:08 来源:网络 阅读:2318 作者:tianle52 栏目:系统运维
最近做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;
        }
     
    }
}

 
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI