在将json-string反序列化为数据集后,我对DateTime-Format有一个大问题。
DateTime.Parse("11/24/2015 09:36:00")
在这两行后,我得到了一个格式良好的DateTime-Format (例如" 2015-11-24T09:36:00Z")
但在那之后,我必须将这个json-string转换为DataSet-Object。 我是这样做的:
{"records":[{"Key":"EIG*11111","ChangeDate":"2015-11-24T09:36:00Z"}]}
现在,DateTime-Value看起来像这样:" 11/24/2015 09:36:00"
最后这个值以异常结束,它不是valide DateTime,如果我想将它解析为DateTime ......
bash
所以也许我必须使用一些格式化程序? 我不知道......
希望你能帮助我! 提前谢谢!修改 样品Jsonstring:
hashMap
此ChangeDate将格式化为#11/24/2015 09:36:00 AM#DataRow
答案 0 :(得分:0)
JSON.NET有IsoDateTimeConverter
类,您可以在其中指定日期格式,以将JSON字符串中格式化的UTC日期时间解析为DateTime
Dim formatter As New IsoDateTimeConverter With { .DateTimeFormat = "dd/MM/yyyy" }
Dim ds = JsonConvert.DeserializeObject(Of DataSet)(json, formatter)
属性。属性用法应该是这样的:
Dim ds = JsonConvert.DeserializeObject(Of DataSet)(json, New IsoDateTimeConverter With { .DateTimeFormat = "dd/MM/yyyy" })
或以单行形式使用它:
Newtonsoft.Json.Converters
请注意,您需要添加IsoDateTimeConverter
命名空间才能启用DateTime.ParseExact()
类。
然后,使用上面指定格式的DateTime
以确保返回的日期字符串可以转换为<?xml version="1.0" encoding="UTF-8"?>
<solver>
<solutionClass>com.mycompany.planner.domain.VersionPlanning</solutionClass>
<entityClass>com.mycompany.planner.domain.PlanningIssue</entityClass>
<scoreDirectorFactory>
<scoreDrl>planner/solver/scoreRules.drl</scoreDrl>
</scoreDirectorFactory>
<termination>
<secondsSpentLimit>290</secondsSpentLimit>
</termination>
</solver>
类型。
类似问题(在C#上下文中):