不要将JToken日期时间字符串转换为DateTime [英] Do not convert JToken date time string as DateTime
本文介绍了不要将JToken日期时间字符串转换为DateTime的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试解析将日期时间保存为字符串的JToken作为字符串。将其视为DateTime,解析然后以字符串形式返回。
Trying to parse JToken which is holding datetime as string, as string. Implicitly what it is doing is considering it as DateTime, parsing and then passing back as string.
原始值为:2015-11-23T00 :00:00
当我做 arr [value] ToString();
我得到:23/11/2015 00:00:00
我真正想要的是通过的原始价值。
What I really want is whatever was passed i.e. the original value.
尝试使用 Formatting.None
,但是有双引号等。
Have tried using Formatting.None
, but that brings in double quotes etc.
有没有简单的方法?
推荐答案
使用 DateParseHandling
来覆盖JSON.NET自动尝试将DateTimey的任何内容进行DateTimeify。
Use DateParseHandling
to override JSON.NET's automatic attempts to DateTimeify anything that looks DateTimey.
void Main()
{
var s = "{ \"value\" : \"2015-11-23T00:00:00\" }";
using (var sr = new StringReader(s))
using (var jr = new JsonTextReader(sr) { DateParseHandling = DateParseHandling.None })
{
var j = JToken.ReadFrom(jr);
Console.WriteLine(j["value"].ToString()); // prints '2015-11-23T00:00:00'
}
}
这篇关于不要将JToken日期时间字符串转换为DateTime的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文