Bootstrap datepicker 日期比较错误(UK/US 格式错误)

Bootrap datepicker date comparison is wrong (UK/US formatting error)

我正在尝试比较两个日期。一种是用户在新建点时输入的,有日期字段,模型如下图。

[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Start Date")]
public DateTime StartDate { get; set; }

另一个是使用日期选择器通过过滤器设置的。

<div class="form-group">
    <label for="end">Start date:</label><br />
    <div class='input-group date' id='dt1'>
        @Html.TextBox("StartDateFilter", null, new { @class = "form-control" })
        <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
        </span>
    </div>
</div>

<script type="text/javascript">
    $('#dt1').datetimepicker({
        locale: 'en-GB',
        format: 'DD/MM/YYYY'
    });
</script>

然后我尝试使用像这样的简单 if 语句比较这两个日期:

if (dateInput >= dateFilter)

然而,我遇到的问题是,输入的格式仍然是英国标准,如 04/01/2015(1 月 4 日),但日期选择器的过滤日期以美国格式发送,如 12/08/ 2015年(12月8日),所以比较这些是不正确的。

我如何比较它们才能正确比较?我在英国环境中使用它,所以只要用户只看到英国格式,幕后发生的事情并不重要。

提前致谢。

在这上面花了几个小时之后,我一 post 来到这里,我似乎灵机一动。我设法将美国时间从日期选择器转换为英国格式,然后进行比较。我以前试过这个,但意识到我设置了文化错误,所以我正在从美国格式转换为美国格式。我现在已经解决了这个问题并且它有效! :D

抱歉现在提出不必要的问题!

DateTime ukDateTimeFormat = DateTime.Parse(startDateFilter.ToString(), System.Globalization.CultureInfo.GetCultureInfo("en-us"));