2017-03-31 28 views
-2

我有一個HTML表單自舉這個日期字段:的Javascript掉期MM/DD日期,但輸入字段DD/MM

<input type="date" class="form-control" id="from" name="from" placeholder="dd/mm/yyyy"> 
<input type="date" class="form-control" id="to" name="to" placeholder="dd/mm/yyyy"> 

我需要比較兩個檢查「到」是日期「從」,但是當我經過比較使用此代碼:

if(new Date($("#from").val() > new Date($("#to").val()) .... 

計算出錯,因爲引擎蓋下它交換一個月的數字與天數。我如何強制它採用dd/mm/yyyy格式(或將輸入轉換爲mm/dd/yyyy)才能正確計算? 謝謝。

+0

無法看到id爲'dal'和'al'的元素)你確定你的選擇器? –

+0

'新的日期()'期待它爲'mm/dd/yyyy' – epascarello

+0

@JohanWillfred你是對的我現在糾正了代碼。 –

回答

0

在Javascript中,您可以生成作爲new Date(year,month,day)需要構建你的約會這樣那就試試這個日期,

var date = new Date(2010,10,10) 
(new Date().getTime() - date.getTime())/ (24 * 60 * 60 * 1000) 

在這段代碼中,我減去當前日期的日期,幾乎不做修改就可以讓它爲你的代碼工作。

0

您不能強制使用佔位符的日期格式。如果瀏覽器支持日期,它將根據本地設置被覆蓋,在這種情況下,實際字段值應始終爲YYYY-MM-DD格式。這就是Chrome如何處理這個領域。

在這種情況下,它會工作

var from = new Date($("#from").val()); 
var to = new Date($("#to").val()); 
if (from > to) 

其他瀏覽器如Firefox例如但是做不支持日期字段良好。它只會像正常的文本輸入一樣工作。在這種情況下,您需要執行一些字符串操作來分隔值並以Date()期望的方式插入它們: new Date(YYYY,MM,DD);

相關問題