我知道以前有人问过这个问题,但由于我无法更改的日期格式,我无法让它工作。任何帮助,将不胜感激。
我的日期是这种格式;
4/11/2017 12:30 PM
.
如果我在开发人员工具中检查它,它会显示为
4/11/2017 12:30 PM
编辑:不会在此处显示前置空间
即前面有一个空格,不确定这是否相关。
有谁知道是否有可能或如何将它与今天的日期进行比较以查看它是过去还是未来?
我尝试修改以下代码,但由于时间、PM 和正斜杠而无法使其正常工作。
var q = new Date();
var m = q.getMonth();
var d = q.getDate();
var y = q.getFullYear();
var date = new Date(d,m,y);
mydate=new Date('13/04/2017');
console.log(date);
console.log(mydate)
if(date>mydate)
{
alert("greater");
}
else
{
alert("smaller")
}
如果您的日期格式与 类似13/04/2017
,则您可以split
基于斜杠的字符串并比较从右侧开始向左移动的值。
我的意思是,当您拥有每个日期的三个值的数组时,您可以首先比较年份,如果相同,则继续比较月份,如果相同,则比较日期。
但是,例如,如果一年中的一个是2018
而另一个是2016
,您会立即知道那个2018
来得更晚。
var st = "19/05/2019";
var st2 = "19/05/2019";
function provideLaterDate(date1, date2) {
var splitDateDate1 = date1.split("/").reverse();
var splitDateDate2 = date2.split("/").reverse();
var laterDate = false;
splitDateDate1.forEach(function(val, idx, arr) {
if ( laterDate === false ) {
if ( val > splitDateDate2[idx] ) {
laterDate = splitDateDate1;
} else if ( val < splitDateDate2[idx]) {
laterDate = splitDateDate2;
} else {
laterDate = "Both are the same";
}
}
});
if ( /\//.test(laterDate) ) {
return laterDate.reverse().join("/");
} else {
return laterDate;
}
}
要摆脱“时间下午”部分,您可以简单地执行以下操作:
// Assuming your date has a structure like this: 4/11/2017 12:30 PM.
var newDate = unformattedDate.split(" ")[0];
// This will separate your date string by spaces, and since there are no spaces until after the year in your date, the 0 index will give you the date minus the time and pm portion. Please pardon the not-consistent variable names.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句