php时间戳和正常时间显示的转换代码

  例如你调用的变量是$liehuo_times,那么在php中输出的语句就是:,怎么样,简单吧?

  mysql里面存的时间是时间戳,10位数的

  怎么才能用函数转换成正常的时间函数输出?

  time();

  是获得当前时间,但获得的是一整型

  可以对此进行格式化

  date("Y-m-d H:i:s", time()) ;

  这样连时,分秒一起显示

  date("Y-m-d ", time()); 只年示年月日

  echo "本机所在的时区:".date("T")."

  ";

  echo "PHP时间戳(UNIX秒):".mktime()."

  ";

  echo "PHP时间(本地格式化后):".date("Y-m-d H:i:s")."

  ";

  ?>

  HP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)

  所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是比较方便的.

  正常日期类型是保存为DATE型的.

  这两个要注意一下,我平时用两种,所以,前几天建的表,把时间类型存为DATE的,我还一直用时间戳保存,一直资料写不进表,调试了好久的才知错误之处,是类型不符合,不给写入库.

  像上面的时间戳是比较方便,但,显示的时候,不至于把这个1228348800串给客户看吧,GOD NOWS!

  所以就用到了这两个的转换,先说一下如何取得当前的时间戳,$date1=time();这样就取得当前的时间戳了,要转回2008-12-4这种格式呢, 用到date()这个函数了,在PHP中date()函数比较常用,如取得当前日期,可以用$date2=date('Y-m-d');,关于里面参数的意思,如不懂就查一下php的手册了.

  好,言归正传,把1228348800转成2008-12-4格式代码如下:

  $date3=date('Y-m-d H:i:s',"1228348800");

  这样就OK了,如还想得到小时,分钟秒,只要把'Y-m-d'改一下就可以了,不过要注意一下,PHP时间还像有8个小时的误差.加上就OK了.

  时间戳转正常日期有了,反之呢,把正常日期格式转为时间戳呢,请看如下代码:

  $year=((int)substr("2008-12-04",0,4));//取得年份

  $month=((int)substr("2008-12-04",5,2));//取得月份

  $day=((int)substr("2008-12-04",8,2));//取得几号

  echo mktime(0,0,0,$month,$day,$year);

  这样就能把正常日期转成时间戳了,这里如果有时分秒也是同理,

  注意:php5.1以上时间戳会与实际时间相差8小时,解决办法如下

  1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!

  2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序

  放到别人的服务器上,不能修改php.ini,那就奈何不得了。

  3、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推

  荐。

  时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin

  港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)

  还有新加坡:Asia/Singapore

时间: 2024-10-28 11:55:31

php时间戳和正常时间显示的转换代码的相关文章

PHP将DateTime对象转化为友好时间显示的实现代码

PHP将DateTime对象转化为友好时间显示的实现代码,需要的朋友可以参考下. /** * 友好日期时间 * * @param DateTime $datetime 日期时间 * @param int $size 精确到位数 * @throws InvalidArgumentException * @return string */ function friendly_date($datetime, $size=1) { if (is_int($datetime)) { $datetime =

PHP将DateTime对象转化为友好时间显示的实现代码_php技巧

复制代码 代码如下: /** * 友好日期时间 * * @param DateTime $datetime 日期时间 * @param int $size 精确到位数 * @throws \InvalidArgumentException * @return string */ function friendly_date($datetime, $size=1) { if (is_int($datetime)) { $datetime = new \DateTime($datetime); }

js实现时间显示几天前、几小时前或者几分钟前的方法集锦

  这篇文章主要介绍了js实现时间显示几天前.几小时前或者几分钟前的方法,实例汇总分析了时间显示格式转换的常用思路与技巧,需要的朋友可以参考下 这里汇总了js实现时间显示几天前.几小时前或者几分钟前的常见方法.分享给大家供大家参考.具体如下: 方法一: 个人做法是保存时间戳,然后在前端用jq插件做转换,比如 smart-time-ago 方法二: (通过freemarker模板)如果用freemarker模板可以这样写,别的模板类推 根据自己的意愿修改条件和输出,把你的datetime传进去即可

PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解_php技巧

在很多场合为了显示出信息的及时性,一般会将时间显示成"刚刚","5分钟前","3小时前"等,而不是直接将时间打印出来.比如微博,SNS类应用就最长用到这个功能.而一般存储在数据库中的时间格式为 Unix时间戳,所以这里记录一个将 Unix时间戳 转化为时间轴显示的PHP函数.函数比较简单,直接看代码就很好懂了. 复制代码 代码如下: <?phpdate_default_timezone_set('PRC');$date = "13

查询-从字符串转换日期和/或时间时,转换失败

问题描述 从字符串转换日期和/或时间时,转换失败 我想查询特定日期的数据,然后出现图中的提示,这是什么原因 解决方案 你的代码有两个问题 一个是你的ToString() 应该写yyyy-MM-dd,你这么写,无论用户怎么设置都是2015-4-1了 另一个是,你的日期和时间之间缺少空格. "00:00:00"修改为" 00:00:00" 解决方案二: 下一个断点,贴出你的CommandText,你的图显示不全,看不出另外一半.你的sql有问题.

阿拉伯语页面时间显示问题

问题描述 阿拉伯语页面时间显示问题 10/04/2015 09:56:48 ? .正常其他语言后面不会有?,?这个是什么,怎么取消掉. 解决方案 看看是不是12小时制下的表示上午下午的字.阿拉伯语不太懂. 解决方案二: 用Google翻译了一下,这个表示上午.反向翻译不出来,你自己找找看,哪个表示下午. 转换时注意不要把下午时间边成了上午就行.

播放-AVAudioPlayer 设置时间显示

问题描述 AVAudioPlayer 设置时间显示 如何进行设置 播放总时长呢? _audioPlayer = [[AVAudioPlayer alloc]init]; PushNoteCollect *myPush = [PushNoteCollect initial]; NSString *playPath = [myPush getFilePathWithAudioUrlString:_myAudioUrlModel.audioUrl]; _audioPlayer = [_audioPla

js和C# 时间日期格式转换的简单实例_javascript技巧

下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整数1335258540000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTime中间间隔的毫秒数.通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下 用var date = eval('new ' + eval('/Date(

Android开发技巧之永不关闭的Toast信息框(长时间显示而非系统关闭)_Android

Toast信息提示框之所以在显示一定时间后会自动关闭,是因为在系统中有一个Toast队列.系统会依次从队列中取(出队列)一个Toast,并显示它.在显示一段时间后,再关闭,然后再显示下一个Toast信息提示框.直到Toast队列中所有Toast都显示完为止.那么有些时候需要这个Toast信息提示框长时间显示,直到需要关闭它时通过代码来控制,而不是让系统自动来关闭Toast信息提示框.不过这个要求对于Toast本身来说有些过分,因为Toast类并没有提供这个功能.虽然如此,但方法总比问题多.通过一