相信很多同学在制作网站的时候,都会用到调用各种各样的时间类型,目前就在dedecms程序里面遇到一个使用单独的php文件调用内容模型自定义字段的一个时间类型,这样直接调用出来的时间是一串数字,也就是时间戳,如何把这段时间戳直接转换为时间格式呢,通过搜寻,总结了一下经验,会的同学请直接翻篇,不会的同学接着往下看:

第一种:显示时间为年月日下午1:00这样的格式

<script>    
function getLocalTime(nS) {    
   return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');    
}    
document.write(getLocalTime(1293072805));    
</script>

在时间戳位置可以直接使用调用标签。

有些同学只要年月日,不要后面的小时和分钟,请用一下代码:

<script>    
    function getLocalTime(nS) {
                return new Date(parseInt(nS) * 1000).toLocaleDateString();     
    }    
    document.write(getLocalTime(1293072805));    
</script>

==============================================

第二种:

<script>    
function getLocalTime(nS) {    
    return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)}    
alert(getLocalTime(1293072805));    
</script>

==============================================

第三种:

<script>    
    function getLocalTime(nS) {    
       return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");     
    }    
    alert(getLocalTime(1177824835));    
</script>

==============================================

结束,大致就能输出正确的时间,亲测没问题,以上js是弹窗格式,大家在html文件中不需要这样的格式,请把JS代码中的“alert”换成“document.write”即可;

alert是弹出对话框,

prompt是弹出一个消息框,

document.write()是根据你在弹出的prompt消息框中输入的内容,来显示出相应的数据的。

所以这里不是用document.write()来替换alert,而是用prompt来做消息框,document.write()只是为了实现prompt的功能而写的。

经过多方面测试,显示格式:2010-12-23 10:53:25

<script>
function formatDateTime(timeStamp){

    var date = new Date();

    date.setTime(timeStamp * 1000);

    var y = date.getFullYear();

    var m = date.getMonth() + 1;

    m = m < 10 ? ('0' + m) : m;

    var d = date.getDate();

    d = d < 10 ? ('0' + d) : d;

    var h = date.getHours();

    h = h < 10 ? ('0' + h) : h;

    var minute = date.getMinutes();

    var second = date.getSeconds();

    minute = minute < 10 ? ('0' + minute) : minute;

    second = second < 10 ? ('0' + second) : second;

    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;

}

document.write(formatDateTime(1293072805));
</script>

其中“1293072805”就是时间戳,只需要把这段换成自己的时间戳调用标签即可。