js中有关日起转换的函数,有无日期比较函数

yunan707 2001-12-22 05:42:10
问题:
有两个text框,输入两个日期(例如:2001/01/01)
检查日期的正确性,并要比较两个日期
后一个要比前一个大!
否则报错!
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunan707 2001-12-26
  • 打赏
  • 举报
回复
谢谢bestest
bestext 2001-12-22
  • 打赏
  • 举报
回复
关于日期正确性
function checkDate(str)
{
var date=new Date(str);
var y=date.getYear();
var m=date.getMonth()+1;
var d=date.getDate();
var myday=y + "/" + patch(m) + "/" + patch(d);
if (myday!=str)
{
alert(" 请输入一有效日期yyyy/mm/dd)!");
return false;
}
return true;
}

function patch(n)
{
return (n-10<0) ? ("0"+n) : (""+n);
}
可解决yyyy/mm/dd合法日期判断问题,此函数checkDate('2001/01/01')返回true而checkDate('2001/1/1')返回false,如果不需要格式限制(即需要checkDate('2001/1/1')也返回true),可去掉函数patch()及其引用

至于日期先后,可把"2001/01/01" --> 20010101,"2000/12/11" --> 20001211
显然20010101 > 20001211 所以 2001/01/01在2000/12/11之后!

注:几天前我就此类似问题作过解答,奇怪的是提问者最后选择了一种稍繁的方法,而摒弃了我的方法,可能是一些地方没有解释清楚
yunan707 2001-12-22
  • 打赏
  • 举报
回复
是利用 gethour, getyear吗?
testdll 2001-12-22
  • 打赏
  • 举报
回复
转换成毫秒再比较

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧