将bootstrap3日期时间选择器转换为C#DateTime
我使用带以下选项的引导日期时间选择器v3将bootstrap3日期时间选择器转换为C#DateTime,c#,.net,datetime,twitter-bootstrap-3,C#,.net,Datetime,Twitter Bootstrap 3,我使用带以下选项的引导日期时间选择器v3 $(".form_datetime").datetimepicker({ autoclose: true, isRTL: Metronic.isRTL(), format: "dd MMyyyy hh:ii", pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")
$(".form_datetime").datetimepicker({
autoclose: true,
isRTL: Metronic.isRTL(),
format: "dd MMyyyy hh:ii",
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")
});
当我得到picker的结果时,我得到类似于“2016年3月10日-10:50”
的结果,我无法将其转换为C#datetime,C#返回以下错误
inputStartDate = Convert.ToDateTime(txtDatetime.Text);
字符串未被识别为有效的日期时间
Convert.ToDateTime
默认情况下使用当前区域性设置的标准日期和时间格式。看起来这种格式不是其中之一
在您的情况下,您需要使用自定义格式作为dd MMMM yyyy-HH:mm
,基于英语的区域性,如InvariantCulture
和DateTime.ParseExact
方法
var inputStartDate = DateTime.ParseExact(txtDatetime.Text,
"dd MMMM yyyy - HH:mm",
CultureInfo.InvariantCulture);
转换。默认情况下,ToDateTime使用当前区域性设置的标准日期和时间格式。看起来这种格式不是其中之一
在您的情况下,您需要使用自定义格式作为dd MMMM yyyy-HH:mm
,基于英语的区域性,如InvariantCulture
和DateTime.ParseExact
方法
var inputStartDate = DateTime.ParseExact(txtDatetime.Text,
"dd MMMM yyyy - HH:mm",
CultureInfo.InvariantCulture);
尝试另一种日期时间格式:
$(".form_datetime").datetimepicker({
autoclose: true,
isRTL: Metronic.isRTL(),
format: "dd MM yyyy - hh:ii",
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")
});
尝试以下另一种日期时间格式:
$(".form_datetime").datetimepicker({
autoclose: true,
isRTL: Metronic.isRTL(),
format: "dd MM yyyy - hh:ii",
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")
});
DateTime.TryParseExact()
可以很好地使用自定义格式。下面是一个例子:
string input = "10 March 2016 - 10:50";
DateTime dateTime;
DateTime.TryParseExact(input, "dd MMMM yyyy - HH:mm", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime);
我喜欢使用解析的“Try”变体来避免异常。如果失败,您将获得默认值(如果是DateTime
,则为MinValue
),不会造成任何伤害。您还将返回一个bool
值,指示成功或失败。不过,这个示例可以使用。DateTime.TryParseExact()
可以很好地使用自定义格式。下面是一个例子:
string input = "10 March 2016 - 10:50";
DateTime dateTime;
DateTime.TryParseExact(input, "dd MMMM yyyy - HH:mm", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime);
我喜欢使用解析的“Try”变体来避免异常。如果失败,您将获得默认值(如果是DateTime
,则为MinValue
),不会造成任何伤害。您还将返回一个bool
值,指示成功或失败。不过,这个例子是有效的