首页  >  文章  >  后端开发  >  聊聊php将时间转时间戳的多种方式

聊聊php将时间转时间戳的多种方式

PHPz
PHPz原创
2023-03-29 16:24:321631浏览

在PHP中,时间戳通常用于表示一个特定时间点。时间戳是从 Unix Epoch(1970年1月1日00:00:00 UTC)开始至指定时间点之间所经过的秒数,它是一种独立于时区的时间表示方式。

在某些情况下,我们需要将一个特定的日期时间转换成时间戳,以便进行比较或其他处理。在PHP中,可以通过多种方式实现这一目标。下面,我们将介绍一些常见的方法。

方法一:strtotime

PHP的strtotime函数可以将一个人类可读的日期时间字符串转换成一个时间戳。该函数的语法如下:

strtotime(string $time [, int $now = time() ])

其中,$time参数是需要转换的日期时间字符串,$now参数是可选的参考时间点,默认为当前时间。该函数返回值为一个时间戳。

例如,将2021年6月30日上午10点30分转换成时间戳:

<?php
$time_str = "2021-06-30 10:30:00";
$timestamp = strtotime($time_str);
echo $timestamp;

以上代码输出结果为:

1625038200

方法二:DateTime类

PHP的DateTime类是一个强大的日期时间操作工具,它提供了多种方法将日期时间转换成时间戳。以下是其中两种常用方法的示例:

  1. format和getTimestamp方法

DateTime类的format方法可以将日期时间对象格式化成指定的字符串,其中常见的格式化参数如下所示:

  • Y:年份,例如:2021
  • m:月份,例如:06
  • d:日份,例如:30
  • H:小时,例如:10
  • i:分钟,例如:30
  • s:秒数,例如:00

DateTime类的getTimestamp方法可以将日期时间对象转换成时间戳。将上述两个方法结合使用,可以将日期时间对象转换成时间戳。以下是示例代码:

<?php
$date_str = "2021-06-30 10:30:00";
$date_obj = new DateTime($date_str);
$timestamp = $date_obj->getTimestamp();
echo $timestamp;

以上代码输出结果为:

1625038200
  1. setTime方法和format方法

DateTime类的setTime方法可以将日期时间对象设置为指定的时间点。将该方法和format方法结合使用,可以将日期时间对象转换成时间戳。以下是示例代码:

<?php
$date_obj = new DateTime();
$date_obj->setTime(10, 30, 0);
$timestamp = $date_obj->format('U');
echo $timestamp;

以上代码输出结果为:

1625038200

方法三:date函数

PHP的date函数可以将时间戳格式化为指定的日期时间字符串。该函数的语法如下:

date(string $format [, int $timestamp = time() ])

其中,$format参数是需要转换成的日期时间格式字符串,$timestamp参数是可选的时间戳,默认为当前时间。该函数返回值为格式化后的日期时间字符串。

将该函数和时间戳结合使用,可以将时间戳转换为日期时间字符串。例如,将时间戳1625038200转换成日期时间字符串:

<?php
$timestamp = 1625038200;
$date_str = date('Y-m-d H:i:s', $timestamp);
echo $date_str;

以上代码输出结果为:

2021-06-30 10:30:00

总结

本文介绍了PHP将日期时间转换成时间戳的三种方法:strtotime函数、DateTime类和date函数。开发者可以根据具体需求选择适合的方法进行转换。

以上是聊聊php将时间转时间戳的多种方式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn