我有一個日期選擇器下拉jquery getday()給我錯誤的一天?
<input type="date" class="date">
我用一週的某一天的jQuery
當我拿起週二該警報是1得到什麼?
不是2?
我有一個日期選擇器下拉jquery getday()給我錯誤的一天?
<input type="date" class="date">
我用一週的某一天的jQuery
當我拿起週二該警報是1得到什麼?
不是2?
如果預期的結果,您可以創建一個對象是2
週二,使用Date.prototype.toUTCString()
,String.prototype.slice()
var days = {
Sun: 0,
Mon: 1,
Tue: 2,
Wed: 3,
Thu: 4,
Fri: 5,
Sat: 6
};
function dateFunction() {
$(".date").on("change", function() {
var day = days[this.valueAsDate.toUTCString().slice(0,3)];
alert(day);
});
}
dateFunction()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" class="date">
謝謝你的工作!它只是覺得應該有一個更簡單的方法? –
@ N.Sch你是什麼意思的「更容易」?方法利用一個對象,一個調用'.toUTCString()',一個調用'.slice(0,3)'來返回預期的結果。 – guest271314
從https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay
通過getDay返回的值()是與星期幾對應的整數:星期日爲0,星期一爲1,星期二爲2星期一,等等。
從https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
語法可以用作new Date(dateString);
dateString 表示日期的字符串值。該字符串應採用Date.parse()方法(IETF兼容的RFC 2822時間戳和ISO8601的一個版本)識別的格式。 注意:由於瀏覽器的差異和不一致性,強烈建議不要使用Date構造函數(和Date.parse,它們是等價的)解析日期字符串。
這就是說,它是(1)可以預料,星期二由數字2表示,和(2)disencouraged使用新Date(dateString)
。更好的選擇是將日期輸入的值解析爲年/月/日並使用語法。
當我在這裏運行該代碼時,我確實得到了'2'。你的時區可能會讓你感到困擾 - 如果你將'new Date(「7/12/2016」)。getDay()'粘貼到瀏覽器控制檯中,你會得到什麼? – Yuck
在這裏可以正常工作:https://jsfiddle.net/RoryMcCrossan/y174nvdv/ –
但是在其他地方的代碼如下:var today = new Date() var dayIndex = today.getDay() if(dayIndex == 2){(「。tuesday」)。show(); (「。daySelector」)。val('tuesday'); }它給了我正確的一天嗎? –