将Javascript字符串转换为日期
Convert Javascript string to date
我有这两个变量的当前日期和日期…Sdate是一个标准字符串,由用户输入,然后与curdate进行比较。Curdate是来自smarty模板的日期字段(以mm/dd/yyyy格式显示今天的日期)
在比较日期之前,我需要将日期转换为相同类型的格式,这样就不会有人输入像jan/12/2013这样的东西…它不会匹配,并将显示此消息。
if(sdate > curdate){
var d= confirm("The date you selected: " + sdate + " is in the future, OK to continue?");
if(!d) return false;
}
您可以"限制"客户端输入将使用JavaScript,以确保输入的数据是数字,例如。有了数字输入,就可以很容易地构建所需格式的字符串。
我已经设置了这个,与下面的代码几乎相同。小提琴也做一些基本的检查(如不接受日期:la 33/54/1001),并解析日期。一旦输入完整的日期,单击按钮并检查控制台中的输出:它是一个常规日期对象,可以与另一个日期对象(例如今天的日期:curdate = new Date();
)进行比较。
但是为了让您开始,这里有一个简化版本的按键处理程序,它处理用户输入:
var keypress = function(e)
{
e = e || window.event;//FROM HERE
var el = e.target || e.srcElement,
char = String.fromCharCode(e.keyCode || e.which);
e.returnValue = false;
e.cancelBubble = true;
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}//TO HERE, a lot of X-browser issues are adressed
if (char == +(char) && el.value.length < 10)
{//format input:
el.value = (el.value + char).replace(/^([0-9]{0,2})'/*([0-9]{0,2})'/*([0-9]{0,4})$/,function(all, m, d, y)
{
m += m.length === 2 ? '/' : '';
d += d.length === 2 ? '/' : '';
return m+d+y;
});
}
return e;//done
};
var dateIn = document.getElementById('dateInputElement');
if (dateIn.addEventListener)
{//add event handlers
dateIn.addEventListener('keypress',keypress, false);
}
else
{
return dateIn.attachEvent('onkeypress',keypress);
}
为了更好地理解这段代码,您可能想看看这里和这里。
您可以使用像Date.js这样的库来解析用户输入的字符串和其他类似日期的值为已知格式。然后直接比较
if (Date.parse(sdate) > Date.parse(curdate)) {
...
}
使用moment.js,您可以做以下事情:
if (moment(sdate, 'MM/DD/YYYY') > moment(curdate))
...
如果您说curdate
代表"现在",那么只需执行:
if (moment(sdate, 'MM/DD/YYYY') > moment())
...
如果你想确保日期是特定的格式,你可以使用它们的验证函数:
if (moment(sdate, 'MM/DD/YYYY').isValid())
...
相关文章:
- 将Javascript日期转换为ASP.NET日期格式
- 如何将日期转换为周名
- 如何将日期转换为标准格式
- Javascript/Json日期转换问题
- 根据浏览器位置,用JavaScript将输入的日期转换为UTC
- 如何在 java 脚本中将字符串日期转换为 GMT
- Javascript中的日期转换
- JavaScript 将日期转换为格式
- 将正常日期转换为 unix 时间戳
- 时刻/时区 - 将日期转换为 unix
- 蒙戈将ISO日期转换为奇怪的字符串
- AngularJS希伯来文日期转换器
- JavaScript将人类可读的日期转换为unix时间戳,然后再转换回来
- php日期转换为javascript日期
- 将日期转换为可读性更强的格式
- 将数据库日期时间或日期转换为Javascript新日期(GMT)格式
- 如何在 Java 中将 JavaScript 日期转换为日期
- javascript中的日期转换和操作,带有阿拉伯月份
- 将javascript日期转换为julian日期
- 如何将日期选择器日期转换为JSON对象以用于AJAX请求