簡體   English   中英

Bootrap datepicker日期比較錯誤(英國/美國格式錯誤)

[英]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日) ,因此在比較它們時是不正確的。

我該如何比較它們以便正確比較? 我在英國環境中使用它,因此只要用戶只看到英國格式,幕后發生的事情都沒有關系。

提前致謝。

在花了幾個小時后,我在這里張貼內容后,似乎就產生了腦力。 我設法將美國時間從日期選擇器轉換為英國格式,然后進行比較。 我以前曾嘗試過這種方法,但意識到我將文化誤區了,因此我從美國格式轉換為美國格式。 我現在已解決此問題,它可以工作! :d

對不起,不必要的問題了!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM