php 将获取到的date(time())转换成date("Y年m月d日h时i分s秒")

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将获取到的date(time())转换成date("Y年m月d日h时i分s秒")相关的知识,希望对你有一定的参考价值。

问题不清晰,我来猜猜楼主的意图。 估计楼主在date的使用上遇到问题了,导致看不到预想的结果。 这里我提供一下解决问题的思路,楼主可以将以上格式一个一个地去测试,看看是哪个出了问题。 因为有些格式的适用场合被限定了,浏览器不一定去支持。 追问: 不是,php获取date(time())的是一串数字,也就是时间戳。现在就是将获得的时间戳转换成,能够直观的时间,也就是 xxxx年xx月xx日xx时xx分xx秒 ,这种形式。 举个例子: $i=date(time());//举例:我获得的时间为 101012314 ,而这个101012314时间戳对应的是2000年3月8日15时15分10秒 我要的就是讲获取的时间戳转换成直观能够看明白的时间,也就是2000年3月8日15时15分10秒 回答: string date ( string $format [, int $timestamp ] ) 返回将整数 timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为 time()。 根据API说明,很明显,date的第一个参数应该是格式化字符串,你用得稍有偏差。 我给个简单例子。 <?php echo date( "Y年m月d日H时i分s秒" ); 补充: 是不是感觉你自己已经把答案写了出来了呢?却还要提问,我真有点搞不懂。 追问: 孩子,我当然知道date( "Y年m月d日H时i分s秒" );就是将当前时间显示出来,我的目的是,我要获取当前date(time())然后我会加个数,然后将加数后的时间戳再转换成date( "Y年m月d日H时i分s秒" );这种形式显示。可能你还不明白我的目的,所以才会误解 回答: int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) 根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。 补充: time()之后加一个数就可以了,不明白为什么还需要变成date后,再变回时间戳?那不是更麻烦吗? 追问: 怎么加啊,date(time())怎么加数啊 回答: 你想怎么加? 追问: date(time())是获取当前时间,例如说,我要加在这上加上10秒,怎么加 回答: date( "Y年m月d日H时i分s秒",time()+10 );

求采纳
参考技术A 问题不清晰,我来猜猜楼主的意图。 估计楼主在date的使用上遇到问题了,导致看不到预想的结果。 这里我提供一下解决问题的思路,楼主可以将以上格式一个一个地去测试,看看是哪个出了问题。 因为有些格式的适用场合被限定了,浏览器不一定去支持。 追问: 不是,php获取date(time())的是一串数字,也就是时间戳。现在就是将获得的时间戳转换成,能够直观的时间,也就是 xxxx年xx月xx日xx时xx分xx秒 ,这种形式。 举个例子: $i=date(time());//举例:我获得的时间为 101012314 ,而这个101012314时间戳对应的是2000年3月8日15时15分10秒 我要的就是讲获取的时间戳转换成直观能够看明白的时间,也就是2000年3月8日15时15分10秒 回答: string date ( string $format [, int $timestamp ] ) 返回将整数 timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为 time()。 根据API说明,很明显,date的第一个参数应该是格式化字符串,你用得稍有偏差。 我给个简单例子。 <?php echo date( "Y年m月d日H时i分s秒" ); 补充: 是不是感觉你自己已经把答案写了出来了呢?却还要提问,我真有点搞不懂。 追问: 孩子,我当然知道date( "Y年m月d日H时i分s秒" );就是将当前时间显示出来,我的目的是,我要获取当前date(time())然后我会加个数,然后将加数后的时间戳再转换成date( "Y年m月d日H时i分s秒" );这种形式显示。可能你还不明白我的目的,所以才会误解 回答: int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) 根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。 补充: time()之后加一个数就可以了,不明白为什么还需要变成date后,再变回时间戳?那不是更麻烦吗? 追问: 怎么加啊,date(time())怎么加数啊 回答: 你想怎么加? 追问: date(time())是获取当前时间,例如说,我要加在这上加上10秒,怎么加 回答: date( "Y年m月d日H时i分s秒",time()+10 ); 参考技术B date("Y年m月d日h时i分s秒",time())不行吗

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;

 

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

 实现的结果:

技术分享

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


以上是关于php 将获取到的date(time())转换成date("Y年m月d日h时i分s秒")的主要内容,如果未能解决你的问题,请参考以下文章

php怎么将当前时间戳增加一year

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

移动端js怎么时间格式转换成时间戳

将通过 JDBC 检索到的 java.sql.Date 值转换为 java.time.LocalDate? [复制]

js中怎么样时间格式转成时间戳

php时间格式怎么转换?