遇到了传递格式的问题。
if (!DateTime.TryParseExact(dateString, "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateOn))
{
return false;
}
else if (!DateTime.TryParseExact(timeString, "hh:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out timeOn))
{
return false;
}
return SaveWorkshop(id, name, dateOn, timeOn, capacity, description, duration, isCancelled);
使用 Bootstrap Datetimepicker,它确实从文本框中以格式获取字符串
但在结果中我确实有错误并且正在解析默认日期。可能是什么问题呢?
最佳答案
对于您的 timeString
,您需要使用 h
而不是 hh
说明符。
hh
specifier 需要一个 leading zero 来表示单个数字,例如 06
。您需要改用 h
specifier 。
这就是为什么你的第二个 DateTime.TryParseExact
返回 false
并且 timeOn
将是它的默认值。
关于c# - DateTime.TryParseExact C# 有效格式和解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33915791/