最近在做获取股价信息的接口,从网友们提供的非标准的新浪接口中发现国外的股票价信息返回的是否夏令营时间,我这边现在纠结的点就是如何将类似 Jul 22 04:02PM EDT
这种时间格式转换成标准时间格式即可。
下面附上接口地址及参数:
请求地址:http://hq.sinajs.cn/list=gb_bkd
返回示例:
var hq_str_gb_bkd="布鲁克代尔高级护理,7.5900,-0.26,2019-07-23 17:31:15,-0.0200,7.6200,7.7100,7.5200,10.0000,5.9700,699778,1032813,1413182077,-0.61,--,0.00,0.00,0.00,0.00,186189997,106.00,0.0000,0.00,0.00,,Jul 22 04:02PM EDT,7.6100,0.00";
DateTime.Parse(
"Jul 22 04:02PM DST"
.Replace("DST","-0400")//夏令时
.Replace("EST","-0500")//非夏令时
,System.Globalization.CultureInfo.GetCultureInfo("en-us"), System.Globalization.DateTimeStyles.AdjustToUniversal)
转出来是UTC时间,你在自己看着办格式化
灰常感谢,已经解决了
@无敌土豆: en-us 不对,格式错了 没注意
@czd890:
DateTime.ParseExact("Jul 22 04:02PM DST"
.Replace("DST","-04:00")//美国纽约时间夏令时
.Replace("EST","-05:00")//美国纽约时间非夏令时
.Replace("PM"," PM")//处理PM
.Replace("AM"," AM"),//处理AM
"MMM dd h:mm tt K",
System.Globalization.CultureInfo.GetCultureInfo("en-us"), System.Globalization.DateTimeStyles.AdjustToUniversal)
@czd890:
大佬这个也能满足我的需要,但是因为夏令时会有时差,就将Jul 23 04:02PM DST
字符转成2019/7/23 20:02:00
时间对不上
然后就改动了下,直接将Jul 23 04:00PM EDT
字符转成2019/7/23 16:00:00
最后就是我想要的结果了
分开一个一个获取,然后拼接字符串
之前也是想着截取来着 但是这个夏令营时间可能还有其他的 比如 EST,GMT 等等,比较麻烦就没截取
是用 js 实现吗?
– dudu 5年前@dudu: 都可以呢 反正能转就行
– 无敌土豆 5年前