问题描述
我使用以下内容来输入日期:
I am using the following for a user to input a date in a form:
<input name="name" type="date" id="id"/>
我想知道是否有办法从中解析日,月,年,并设置他们变成不同的变量。我试图只使用Javascript,而不是PHP。
I am wondering if there is a way to parse the Day, Month, and Year from this and set them into different variables. I am trying to use only Javascript, not PHP.
3个变量将是整数。
谢谢。
推荐答案
如果您接受输入并将其转换为,分为部分或作为 Date
对象通过传递输入值来简单地构造一个新的 Date
对象:
Your best option, if you're accepting input and converting it to a date, either split by part or as a Date
object, is to simply construct a new Date
object by passing it the input value:
var input = document.getElementById( 'id' ).value;
var d = new Date( input );
if ( !!d.valueOf() ) { // Valid date
year = d.getFullYear();
month = d.getMonth();
day = d.getDate();
} else { /* Invalid date /* }
这样可以利用 Date
处理多种输入格式 - 它将需要YYYY / MM / DD,YYYY-MM-DD,MM / DD / YYYY甚至全文日期('2013年10月25日')等,而无需编写自己的解析器。有效日期然后可以通过 !! d.valueOf()
轻松检查 - 如果它是好的,则为true,否则为false):
This way you can leverage Date
s handling of multiple input formats - it will take YYYY/MM/DD, YYYY-MM-DD, MM/DD/YYYY, even full text dates ( 'October 25, 2013' ), etc. without having you write your own parser. Valid dates are then easily checked by !!d.valueOf()
- true if it's good, false if not :)
这篇关于解析日期,月份和年份从Javascript“日期”形成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!