Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改prettyDate()以使用另一种日期时间格式的字符串_Javascript_Jquery - Fatal编程技术网

Javascript 修改prettyDate()以使用另一种日期时间格式的字符串

Javascript 修改prettyDate()以使用另一种日期时间格式的字符串,javascript,jquery,Javascript,Jquery,我正在使用John Resig prettyDate函数,以便将其与以下格式的字符串一起使用:'2013-01-04 20:02:28' 但到目前为止我还没有成功…此函数仅适用于iso日期时间 function prettyDate(time){ var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")), diff = (((new Date()).getTime() - date.g

我正在使用John Resig prettyDate函数,以便将其与以下格式的字符串一起使用:

'2013-01-04 20:02:28'


但到目前为止我还没有成功…此函数仅适用于iso日期时间

function prettyDate(time){
    var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
        diff = (((new Date()).getTime() - date.getTime()) / 1000),
        day_diff = Math.floor(diff / 86400);

    if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
        return;

    return day_diff == 0 && (
            diff < 60 && "just now" ||
            diff < 120 && "1 minute ago" ||
            diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
            diff < 7200 && "1 hour ago" ||
            diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
        day_diff == 1 && "Yesterday" ||
        day_diff < 7 && day_diff + " days ago" ||
        day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
}
请问,有人能帮我修改一下以适应我的格式吗?谢谢


PD:

不是格式不起作用,而是函数
day\u diff>=31时返回
s。从现在起,当函数运行时,
day_diff
将为47

从条件中删除复选框,并将一个条件添加到返回部分,该返回部分处理
日差
大于31时的情况:

function prettyDate(time){
    var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
        diff = (((new Date()).getTime() - date.getTime()) / 1000),
        day_diff = Math.floor(diff / 86400);

    if ( isNaN(day_diff) || day_diff < 0 )
        return;

    return day_diff == 0 && (
            diff < 60 && "just now" ||
            diff < 120 && "1 minute ago" ||
            diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
            diff < 7200 && "1 hour ago" ||
            diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
        day_diff == 1 && "Yesterday" ||
        day_diff < 7 && day_diff + " days ago" ||
        day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago" ||
        day_diff + " days ago";
}
函数prettyDate(时间){
变量日期=新日期((时间| |“”)。替换(/-/g,“/”)。替换(/[TZ]/g,“”)),
diff=(((新日期()).getTime()-Date.getTime())/1000),
日差异=数学楼层(差异/86400);
如果(isNaN(日差)| |日差<0)
返回;
返回日_diff==0&&(
差值<60&“刚刚”||
差值<120&“1分钟前”||
差异<3600和数学楼层(差异/60)+“分钟前”||
差值<7200&“1小时前”||
差异<86400和数学楼层(差异/3600)+“小时前”)||
day_diff==1&“昨天”||
日差<7日和日差+“日前”||
日差<31&&Math.ceil(日差/7)+“周前”||
day_diff+“几天前”;
}

Yeah@freejosh你说得对!非常感谢!!!
function prettyDate(time){
    var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
        diff = (((new Date()).getTime() - date.getTime()) / 1000),
        day_diff = Math.floor(diff / 86400);

    if ( isNaN(day_diff) || day_diff < 0 )
        return;

    return day_diff == 0 && (
            diff < 60 && "just now" ||
            diff < 120 && "1 minute ago" ||
            diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
            diff < 7200 && "1 hour ago" ||
            diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
        day_diff == 1 && "Yesterday" ||
        day_diff < 7 && day_diff + " days ago" ||
        day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago" ||
        day_diff + " days ago";
}