gpt4 book ai didi

javascript - 将 javascript 变量 “11:00 AM” 转换为 c# 等效项,其中 SQL 为时间格式

转载 作者:行者123 更新时间:2023-11-30 18:47:53 25 4
gpt4 key购买 nike

我有以下模型属性

public class CallLog
{
public int CallLogID { get; set; }
public TimeSpan endTime { get; set; }
public TimeSpan startTime { get; set; }
}

我的 api 调用是“/api/CallLog/AddCallLog”。其中 CallLog 数据包含

startTime = "11:00 AM"
endTime = "11:30 AM"

我的 api Controller 是

[HttpPost]
public IHttpActionResult AddCallLog(CallLog callLog)
{

if (!ModelState.IsValid)
{
return Json(new
{
success = false,
errors = ModelState.Keys.SelectMany(k => ModelState[k].Errors)
.Select(m => m.ErrorMessage).ToArray()
});
}

CallLog.InsertCallLog(callLog);

return CreatedAtRoute("DefaultApi", new { id = callLog.CallLogID }, callLog);
}

它给了我以下错误

{"Error converting value \"11:00 AM\" to type 'System.TimeSpan'. Path 'startTime'....}
{"Error converting value \"11:30 AM\" to type 'System.TimeSpan'. Path 'endTime'....}

我的问题是像“11:00 AM”这样的时间我需要什么数据类型。请记住我在数据库中的 startTime 和 endTime 数据类型是“时间”。

最佳答案

根据错误的说法,您可能必须提供从 string 类型 "11:30 AM"TimeSpan 的正确转换类型。您可以通过参数将 DateTime.ParseExact 与转换模式一起使用,如下所示:

string pattern = "HH:mm 'AM'";
TimeSpan yourTimeSpan = DateTime.ParseExact(
"11:30 AM",
pattern,
CultureInfo.InvariantCulture
).TimeOfDay;

它将为您提供值为 11:30:00 的时间跨度

因此,您可以将代码修改为如下内容:

private string _endTime;
public TimeSpan endTime
{
get
{
return DateTime.ParseExact(
_endTime,
"HH:mm 'AM'",
CultureInfo.InvariantCulture
).TimeOfDay;
}
}

关于javascript - 将 javascript 变量 “11:00 AM” 转换为 c# 等效项,其中 SQL 为时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32711368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com