在JavaScript / jQuery中执行一些代码,我需要在用户可以输入有些部分日期字符串并让JavaScript找出完整日期的地方。
例如,如果用户输入“5/24”,则应返回“5/24/2011”(当前年份)。如果用户输入“5/24/2004”,它应该只返回。
duedate = Date.parse(qadueparse);
duedatelit = new Date(duedate);
duedatelit = Number(duedatelit.getMonth()+1) + '/' +
Number(duedatelit.getDate()) + '/' + Number(duedatelit.getFullYear());
以上代码在用户提供完整字符串时有效,但是当用户键入“5/24”或其他部分字符串时,它似乎搞砸了我。它返回2001年。
任何人都可以帮助我吗?
再次转向StackOverflow以满足我的编程需求;谢谢大家,在这个充满活力的社区中互相支持。
答案 0 :(得分:0)
日期对象可以接受解构日期进行实例化:
var d = new Date(2011, 7, 13, 15, 59, 0); // Jul 13th, 3:59:00pm
您可以撕开部分日期并自行填写空白。但是,什么是3/7? 3月7日?七月三日?更糟糕的是,3/5 / 7--这是一年,也就是一个月,也就是一天?
评论后续:
如果它总是m / d,那么你只需分开/
,给你m和d值。
provided = '5/24';
parts = provided.split('/');
month = parts[0]; // 5
day = parts[1]; // 24
today = new Date();
your_date = new Date(today.getFullYear(), month, day); // new date object for 2011/5/24