成都论坛

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

[复制链接]

1275

主题

1275

帖子

1013

积分

金牌会员

Rank: 6Rank: 6

积分
1013
分享到:
发表于 2021-10-21 14:20:27 | 显示全部楼层 |阅读模式

最近做shopEX平台订单对接,因为shopEXPhp的,所以在提交订单的时间格式首先转换成unix时间格式,然后才能提交成功。
相同的,有response返回的所有的日期格式都是unix时间格式,所以要转换成系统时间我们才能使用。
在网上搜了一下,整理了一下,下面是我用C#编写的小例子,供各位参考。数据的严谨性,需要在实际使用时进行相应的判断操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
/// <summary>
/// unixwindowns日期格式互换
/// 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; }

}
}
从区域结构看,华东、华北地区是中国云计算市场发展领先的区域,市场份额占比合计接近60%。从行业结构分布来看,中国网络服务行业仍是云计算销售额占比最大的行业市场,交通和政务领域的云计算市场呈现高速增长态势,市场份额进一步提升。


快速回复 返回顶部 返回列表