js 将php生成的time()类型时间戳转化成具体date格式的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 将php生成的time()类型时间戳转化成具体date格式的日期相关的知识,希望对你有一定的参考价值。

需求:
     将首页显示的int类型的时间转化为date类型的时间格式:
     QuestionModel获取到question列表数据时,包括question[‘pub_time‘],在显示时,需要将其转化为具体的时间格式进行显示。
插入问题记录时,pub_time字段是使用php的time()函数,获取到当前的时间戳整数,然后插入到mysql数据表中的,所以其格式是int类型。
技术分享
 技术分享

 

但在view视图的html中显示时,需要将其格式化成时间格式进行显示。但又因为每一条问题为了便于分页显示数据都是通过js拼接的,所以转换的功能就依靠js了。
技术分享
 技术分享

 

在网上搜到关于js将int转换为date格式数据的答案都是相互拷贝,并且也不实用,所以看了php和js官方手册后,了解到:
  1. php中time()是返回当前的unix时间戳,精确到秒数    https://secure.php.net/manual/zh/function.time.php
                 技术分享
技术分享
  1. js中new Date()可以通过给Date传递参数,而将int数据转换成date类型数据,参数精确到毫秒数   https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
技术分享
 技术分享
 
 
现在问题就转换的很简单了,通过js Date对象转换成相应的年月日就可以了,默认情况下,date变量的值为时间格式字符串。
 
var time = questions[i][‘pub_time‘]; //1483970035
var date = new Date(time*1000);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
des = year + ‘-‘ + month + ‘-‘ + day;

 

技术分享
技术分享
 技术分享

 实现的结果:

技术分享

真的只是秒数和毫秒数的差别,忽略之后就困惑了很久。


以上是关于js 将php生成的time()类型时间戳转化成具体date格式的日期的主要内容,如果未能解决你的问题,请参考以下文章

vue.js怎样将时间戳转化为日期格式

vue将当前时间转化为时间戳以及处理时间格式

vue将当前时间转化为时间戳以及处理时间格式

vue将当前时间转化为时间戳以及处理时间格式

js怎么把时间戳转换成几分钟几小时前

js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳