提问人:techno 提问时间:7/18/2023 最后编辑:Soner Gönültechno 更新时间:7/19/2023 访问量:109
解析 DateTime 时出现问题
Issue parsing DateTime
问:
我有以下字符串2023-07-18 11:38 AM
我正在尝试使用以下代码来解析它
fromDate = DateTime.ParseExact(adhocData.FromDateTime,
"YYYY-MM-DD hh:mm tt",
CultureInfo.InvariantCulture).Date;
但是我不断收到以下错误
字符串“2023-07-18 11:38 AM”未被识别为有效的 DateTime
答:
3赞
sommmen
7/18/2023
#1
您的格式略有错误,请尝试:
DateTime.ParseExact("2023-07-18 11:38 AM",
"yyyy-MM-dd hh:mm tt",
CultureInfo.InvariantCulture);
请注意年份和日期组件的上限!
3赞
Sandeep Manchukonda
7/18/2023
#2
使用字符串格式“yyyy-MM-dd hh:mm tt”而不是“YYYY-MM-DD hh:mm tt”。
这解决了问题,甚至时间也显示正确。
评论
0赞
Hans Kesting
7/18/2023
请发布您的代码文本,而不是图像
1赞
Panagiotis Kanavos
7/19/2023
#3
更好的选择是确保从客户端发送ISO8601。从注释中,字符串是在 React 应用程序中使用 moment 和 生成的。没有必要这样做。apiFromDateTime?.format('YYYY-MM-DD hh:mm a')
moment
不过,对象被序列化为开箱即用ISO8601。文档示例演示了如何将包含对象的对象序列化为 JSON:moment
JSON.stringify({
postDate : moment()
});
这会产生
'{"postDate":"2013-02-04T22:44:30.652Z"}'
将其发布到服务器应该可以正常工作。借用 MDN 的 fetch 示例:fetch
const data={
postDate : moment()
}
const response = await fetch("https://example.com/profile", {
method: "POST", // or 'PUT'
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(data),
});
评论
adhocData.FromDateTime
AM/PM
toJSON()
apiFromDateTime?.format('YYYY-MM-DD hh:mm a')