如何根据情景获取不同形式的date datetime and full date
。如何在javascript中获取时间,仅限日期和完整日期
- 1如果日期是最新
less than 24 Hr old
那么我必须表现出像22:31
- 如果日期是同月为如
february
但年龄比24 hr
然后我必须表现出像15 Feb.
- 如果日期比一个月还要旧,所以我必须展示如
15 Feb 17
。
到目前为止我已经做了两个javascript函数。
function getLocalizeDateTime(dateString,format) {
if(dateString==null || dateString==undefined || dateString==""){
return "";
}
var dateTime = dateString.trim().split(" ");
var dateOnly = dateTime[0];
var timeOnly = dateTime[1];
timeOnlyOfDate = timeOnly;
var temp = dateOnly + "T" + timeOnly+"Z";
var utc_date =new Date(temp);
currentDateStr = dateString;
//var offset = new Date().getTimezoneOffset();
//utc_date.setMinutes(utc_date.getMinutes() - offset);
if(format!=undefined && format!=null)
return date2str(utc_date,format);
return date.toString();
}
function date2str(x, y) {
var z = {
YR: x.getFullYear(),
M: x.getMonth() + 1,
d: x.getDate(),
h: x.getHours(),
m: x.getMinutes(),
s: x.getSeconds()
};
// Here return 22:32 if date is less than 24 hr old.
// return 24 feb as currentmonth is feb.
// return 24 feb 17 in case current date is march or greater.
y = y.replace(/(M+|d+|h+|m+|s+)/g, function(v) {
return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2)
});
return y.replace(/(y+)/g, function(v) {
return x.getFullYear().toString().slice(-v.length)
});
}
而这些功能在格式返回整个日期e.g日期"2017-02-24 07:46:38"
和格式MM-dd-yyyy hh:mm"
它返回02-24-2017 13:16
。如何做到上面提到的3个商业检查。
看看[momentjs](https://momentjs.com) –
有很多格式化库。 [* fecha.js *](https://github.com/taylorhakes/fecha)简洁,并解析和格式化。 – RobG
请参阅:http://stackoverflow.com/help/someone-answers – c0der