[英]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.