php时间戳的转换函数(经典3篇)

时间:2014-01-03 07:18:31
染雾
分享
WORD下载 PDF下载 投诉

php时间戳的转换函数 篇一

在PHP编程中,处理时间戳是一项常见的任务。时间戳是一个表示日期和时间的整数值,通常以秒为单位。在很多情况下,我们需要将时间戳转换为易于理解的日期和时间格式,以便于显示和处理。

PHP提供了一些内置的函数来处理时间戳的转换。其中最常用的是`date()`函数。`date()`函数可以接受两个参数,第一个参数是日期和时间的格式,第二个参数是可选的时间戳。如果不提供第二个参数,默认使用当前的时间戳。

下面是一个简单的例子,演示如何使用`date()`函数将时间戳转换为日期和时间格式:

```php

$timestamp = time();

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

echo $date;

```

上述代码中,`time()`函数返回当前的时间戳,然后将其作为第二个参数传递给`date()`函数。`date()`函数的第一个参数`Y-m-d H:i:s`表示日期和时间的格式,其中`Y`表示四位数的年份,`m`表示两位数的月份,`d`表示两位数的日期,`H`表示两位数的小时,`i`表示两位数的分钟,`s`表示两位数的秒钟。最后,`echo`语句将转换后的日期和时间输出到屏幕上。

除了`date()`函数,PHP还提供了其他一些有用的函数来处理时间戳的转换。其中包括`strtotime()`函数和`strftime()`函数。

`strtotime()`函数可以将人类可读的日期和时间格式转换为时间戳。例如,下面的例子将一个日期字符串转换为时间戳:

```php

$dateStr = '2022-01-01';

$timestamp = strtotime($dateStr);

echo $timestamp;

```

上述代码中,`strtotime()`函数将`'2022-01-01'`这个日期字符串转换为时间戳,并将结果输出到屏幕上。

`strftime()`函数可以将时间戳转换为本地化的日期和时间格式。它接受两个参数,第一个参数是日期和时间的格式,第二个参数是时间戳。下面是一个使用`strftime()`函数的例子:

```php

$timestamp = time();

$date = strftime('%Y-%m-%d %H:%M:%S', $timestamp);

echo $date;

```

上述代码中,`strftime()`函数将时间戳转换为本地化的日期和时间格式,并将结果输出到屏幕上。

总结来说,PHP提供了多种方法来处理时间戳的转换。根据实际需求,我们可以选择使用`date()`函数、`strtotime()`函数或`strftime()`函数来完成不同的转换任务。熟练掌握这些函数的使用,将有助于提高时间戳处理的效率和准确性。

php时间戳的转换函数 篇二

在PHP编程中,时间戳的转换是一项常见的任务。时间戳是一个表示日期和时间的整数值,通常以秒为单位。在实际开发中,我们经常需要将时间戳转换为易于理解的日期和时间格式,以便于显示和处理。

PHP提供了一些内置的函数来处理时间戳的转换。其中最常用的是`date()`函数。`date()`函数可以接受两个参数,第一个参数是日期和时间的格式,第二个参数是可选的时间戳。如果不提供第二个参数,默认使用当前的时间戳。

下面是一个简单的例子,演示如何使用`date()`函数将时间戳转换为日期和时间格式:

```php

$timestamp = time();

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

echo $date;

```

上述代码中,`time()`函数返回当前的时间戳,然后将其作为第二个参数传递给`date()`函数。`date()`函数的第一个参数`Y-m-d H:i:s`表示日期和时间的格式,其中`Y`表示四位数的年份,`m`表示两位数的月份,`d`表示两位数的日期,`H`表示两位数的小时,`i`表示两位数的分钟,`s`表示两位数的秒钟。最后,`echo`语句将转换后的日期和时间输出到屏幕上。

除了`date()`函数,PHP还提供了其他一些有用的函数来处理时间戳的转换。其中包括`strtotime()`函数和`strftime()`函数。

`strtotime()`函数可以将人类可读的日期和时间格式转换为时间戳。例如,下面的例子将一个日期字符串转换为时间戳:

```php

$dateStr = '2022-01-01';

$timestamp = strtotime($dateStr);

echo $timestamp;

```

上述代码中,`strtotime()`函数将`'2022-01-01'`这个日期字符串转换为时间戳,并将结果输出到屏幕上。

`strftime()`函数可以将时间戳转换为本地化的日期和时间格式。它接受两个参数,第一个参数是日期和时间的格式,第二个参数是时间戳。下面是一个使用`strftime()`函数的例子:

```php

$timestamp = time();

$date = strftime('%Y-%m-%d %H:%M:%S', $timestamp);

echo $date;

```

上述代码中,`strftime()`函数将时间戳转换为本地化的日期和时间格式,并将结果输出到屏幕上。

综上所述,PHP提供了多种方法来处理时间戳的转换。根据实际需求,我们可以选择使用`date()`函数、`strtotime()`函数或`strftime()`函数来完成不同的转换任务。掌握这些函数的使用,将有助于提高时间戳处理的效率和准确性。

php时间戳的转换函数 篇三

php时间戳的转换函数

  PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数有哪些?下面yjbys小编为大家分享php时间戳的转换函数,欢迎阅读!

  strtotime():将任何英文文本的日期时间描述解析为时间戳。

  mktime():从日期取得时间戳。

  strtotime()

  strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE 。语法:

  int strtotime ( string time [, int now] )

  参数 time 为被解析的字符串,是根据 GNU 日期输入格式表示的日期。

  例子:

  <?php

  echo strtotime("2009-10-21 16:00:10");//输出 1256112010

  echo strtotime("10 September 2008");//输出 1220976000

  echo strtotime("+1 day"), "<br />";//输出明天此时的时间戳

  ?>

  mktime()

  mktime() 函数用于从日期取得时间戳,成功返回时间戳,否则返回 FALSE 。语法:

  int mktime(时, 分, 秒, 月, 日, 年)

  例子:

  <?php

  echo mktime(21, 50, 55, 07, 14, 2010);//输出“1279115455”

  ?>

  参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。

  mktime() 在做日期计算和验证方面很有用,它会自动计算超出范围的输入的正确值。例如下面例子输出的都是 2008-01-01:

  <?php

  echo date("Y-m-d", mktime(0, 0, 0, 12, 32, 2007));

  echo date("Y-m-d", mktime(0, 0, 0, 13, 1, 2007));

  ?>

  下个月的最后一天。任何给定月份的最后一天都可以被表示为下个月的第 "0" 天,而不是 -1 天,如下面的例子:

  <?php

  $lastday = mktime(0, 0, 0, 3, 0, 2008);

  echo strftime("2008年最后一天是:%d", $lastday);

  // 2008年最后一天是:29

  ?>

  自定义函数

  下面的函数与strtotime功能差不多。

  <?php

  $date_str = "2011-09-11 17:00:00";

  echo $time_str = str_format_time($date_str);

  function str_format_time($timestamp = '')

  {

  if (preg_match("/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/i", $timestamp))

  {

  list($date,$time)=explode(" ",$timestamp);

  list($year,$month,$day)=explode("-",$date);

  list($hour,$minute,$seconds )=explode(":",$time);

  $timestamp=gmmktime($hour,$minute,$seconds,$month,$day,$year);

  }

  else

  {

  $timestamp=time();

  }

  return $timestamp;

  }

  echo '<br />';

  echo date("Y-m-d H:i:s", $time_str);

  ?>

  php时间戳与日期转换

  标签:

  时间戳

  asia

  date

  两种

  杂谈

  分类: php

  PHP时间大的来分有两种,一是时间戳类型(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

php时间戳的转换函数(经典3篇)

手机扫码分享

Top