繁体   English   中英

如何将从getTime()方法接收的日期转换为DD-MM-YYYY格式?

[英]How to convert date received from getTime() method to DD-MM-YYYY format?

我的问题很简单,但我却很难解决。 基本上,我将从new Date().getTime()方法接收的数字存储在数据库中,然后在以前的函数中使用该字符串。 该函数效果很好,但是我不知道如何将字符串转换回DD-MM-YYYY ; h:m:s DD-MM-YYYY ; h:m:s格式

我以前的功能:

<script>
$(document).ready(function() {
var db_time = //the string from the database;
var c_db_time = db_time/1000;//remove the milli seconds
function ago()
{
    var current_time = new Date().getTime()/1000;//remove the milli seconds
    var dif = Math.round(current_time - c_db_time);
    if(dif<60)//one minute ago
    {
        if(dif<=10){$(".elapsed_time").html("just now");}
        else{var ago = dif;$(".elapsed_time").html(ago+"sec ago");}
    }

    else if(dif<3600)//one hour ago
    {
        var ago = Math.round(dif/60);
        $(".elapsed_time").html(ago+"min ago")
    }
    else if(dif<86400)//one day ie.24hours ago
    {
        var ago = Math.round(dif/3600);
        $(".elapsed_time").html(ago+"hr ago");
    }
    else if(dif<604800)// one week ago
    {
        var ago = Math.round(dif/86400);
        $(".elapsed_time").html(ago+"Day ago");
    }

}
setInterval(ago,1000);//run the script every 1 sec
});
</script>

注意:我在Google上到处都在研究,堆栈溢出,但是找不到适合我的答案。

Moment.js是一个出色的库,可用于执行此类操作。

moment(theDate).format('dd-mm-yyyy ; h:m:s');

它还支持从字符串获取日期:

moment('01-01-2001', 'dd-mm-yyyy');

Moment对您手动执行的相对时间语句也具有非常强大的处理能力:

moment(theDate).fromNow(); // 11 hours ago, in 3 days, etc.

使用Javascript中的本机日期对象可能会很乏味。 一般而言,日期数学很难。 Moment总结了所有艰苦的工作,并让您仅描述您想要的内容。

您可以根据时间戳值构造Date实例,然后使用各种访问器方法( .getDate() .getMonth() .getFullYear()等)来根据需要格式化日期。

因此,例如:

var savedDate = new Date(db_time);

制作一个Date实例。 然后,具有产生两位数零前缀数字的功能将很有帮助:

function d2( n ) {
  return (n < 10 ? "0" : "") + n;
}

然后可以建立一个DD-MM-YYYY日期:

var ddmmyy = d2(savedDate.getDate()) + "-" + d2(savedDate.getMonth() + 1) + "-" + savedDate.getFullYear();

(“日期”实例中的月份值从0到11,因此需要加1。)

javascript Date对象具有toString()方法,该方法将返回该日期的字符串表示形式。 但是,如果您对该字符串的格式不满意,则无法指定用于该字符串的特定格式-您必须开始提取日期的各个部分并自己构建一个字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM