迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

如何在 PHP 中将日期转换为时间戳

作者:迹忆客 最近更新:2023/03/10 浏览次数:

在本文中,我们将介绍在 PHP 中将 date 转换为 timestamp 的方法。

  • 使用 strtotime() 函数
  • 使用 strptime() 函数
  • 使用 getTimestamp() 函数
  • 使用 format() 函数

使用 strtotime() 函数将日期转换为 PHP 中的时间戳

内置函数 strtotime() 将日期转换为 Unix 时间戳。Unix 时间戳是从 Unix 时代(1970 年 1 月 1 日)计算出的总秒数。使用此函数的正确语法如下

strtotime($dateString,$timeNow);

此函数有两个参数。$dateString 是应该符合 PHP 有效格式的日期/时间字符串。它是必填参数。另一个参数 $timeNow 是可选的,它是用于计算相对日期的时间戳。如果省略第二个参数,则当前时间 now 是默认值。

<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>

这里的日期格式为 "d-m-Y"。我们仅传递了一个参数,因为它将把 date 转换为 Unix 时间戳。

输出:

The timestamp is 1587600000.

使用 strptime() 函数将日期转换为 PHP 中的时间戳

这是将日期转换为 Unix 时间戳的另一个功能。它不会将日期直接转换为时间戳。它返回一个数组,该数组讲述秒,分钟,小时以及其他一些详细信息。我们可以使用这些详细信息将日期转换为时间戳。

strptime($dateString, $format);

它有两个必填参数。$dateString 是日期字符串,$format 是解析 $dateString 的格式。

<?php
$array = strptime('23-04-2020', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $array['tm_mon']+1, $array['tm_mday'], $array['tm_year']+1900);
echo "The timestamp is $timestamp.";
?>

输出:

The timestamp is 1587600000.

生成数组后,mktime() 函数将 date 转换为 timestamp。

mktime() 函数的语法是

mktime(hour, minute, second, month, day, year, is_dst)

is_dst 指定日期时间是否为夏令时,但已从 PHP 7.0.0 中删除。

使用 getTimestamp() 函数将日期转换为 PHP 中的时间戳

DateTime 对象的 getTimestamp()方法是一种将日期转换为时间戳的简单方法。它有另一种表示方法 date_timestamp_get(),它是程序样式表示。

$datetimeObject->getTimestamp(); 

我们将创建一个 Datetime 对象来调用此函数。这是调用函数的面向对象风格。

<?php
$date = new DateTime('2020-04-23');
$timestamp = $date->getTimestamp();
echo "The timestamp is $timestamp.";
?>

Datetime 类的对象 $date 已调用方法 getTimestamp()将 date 转换为 Unix timestamp。

输出:

The timestamp is 1587600000.

使用 format() 函数将日期转换为 PHP 中的时间戳

我们还可以使用 DateTime 的 format()方法将 date 转换为 timestamp。该方法还有另一种表示形式 date_format(),它是 format()函数的过程样式表示。

$datetimeObject->format("U"); 

为了将 date 转换为 timestamp,我们将作为字符串传递的格式为 "U"

<?php
$dateObject = new DateTime('2020-04-23');
$timestamp = $dateObject->format("U");
echo "The timestamp is $timestamp.";
?>

Datetime 类的对象 $dateObject 调用了函数 format() 将日期转换为 Unix 时间戳。

输出:

The timestamp is 1587600000.

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便