300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ddmmyy日期格式是多少_日期格式:ddMMyy-hhmmss 格林威治时间转换成北京时间

ddmmyy日期格式是多少_日期格式:ddMMyy-hhmmss 格林威治时间转换成北京时间

时间:2024-01-02 11:35:01

相关推荐

ddmmyy日期格式是多少_日期格式:ddMMyy-hhmmss 格林威治时间转换成北京时间

有些项目需要第三方的接口来取数据,这样就有个问题,那就是有些字段比较特殊,采用的都是国际标准时间,方便别的语言调用,这样时间差就相差不一样了,需要进行转换。

例如:GPS的数据时间格式:ddMMyy-hhmmss 需要转换DateTime类型,如果用Convert.ToDateTime进行转换会报错,因为格式不正确,还有一种方式转换DateTime.ParseExact(date, "ddMMyy-hhmmss", CultureInfo.CurrentCulture),这种方式也是有问题,假如日期小时(hh)是凌晨:16到23这个时间段会报错。还有就是取来的接口数据不会自动补全天、月,比如:4月1日,可能第三方传给你的是dMyy,缺少0.

所以要解决比较好的方式可以选择解析日期:

如下代码:[Date nowTime = new Date(); // 要转换的时间 Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(nowTime.getTime()); Log.i(OT

调勇:

ToDateTime("080316-060553")

#region 格林威治时间转换成北京时间

///

/// 格林威治时间转换成北京时间

///

/// ddMMyy-hhmmss

/// DateTime

public static DateTime ToDateTime(string date)

{

var yyyy = "";

var MM = "";

var dd = "";

var hh = "";

var mm = "";

var ss = "";

var newDate = "";

var nowDate = DateTime.Now;

try

{

if (!string.IsNullOrEmpty(date) && date.Contains('-'))

{

var dates = date.Split('-');

var yyMMdd = dates[0];

var hhmmss = dates[1];

if (yyMMdd.Length == 6)

{

yyyy = "20" + yyMMdd.Substring(4, 2);

MM = yyMMdd.Substring(2, 2);

dd = yyMMdd.Substring(0, 2);

}

else if (yyMMdd.Length == 5)

{

yyyy = "20" + yyMMdd.Substring(3, 2);

MM = yyMMdd.Substring(1, 2);

dd = yyMMdd.Substring(0, 1);

}

else if (yyMMdd.Length == 4)

{

yyyy = "20" + yyMMdd.Substring(2, 2);

MM = yyMMdd.Substring(1, 1);

dd = yyMMdd.Substring(0, 1);

}

if (hhmmss.Length == 6)

{

hh = hhmmss.Substring(0, 2);

mm = hhmmss.Substring(2, 2);

ss = hhmmss.Substring(4, 2);

}

else

{

hh = nowDate.ToString("hh");

mm = nowDate.ToString("mm");

ss = nowDate.ToString("ss");

}

newDate = yyyy + "-" + MM.PadLeft(2, '0') + "-" + dd.PadLeft(2, '0') + " " + hh.PadLeft(2, '0') + ":" + mm.PadLeft(2, '0') + ":" + ss.PadLeft(2, '0');

return Convert.ToDateTime(newDate).AddHours(8);//北京时间需要加8个小时

}

}

catch (Exception ex)

{

}

return DateTime.Now;

}

#endregion

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。