如何根據情景獲取不同形式的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