使用PHP将任意格式的日期转换为Unix时间戳
在 PHP 中,可以使用 strtotime() 函数将任意格式的日期时间字符串转换为 Unix 时间戳。具体实现可以按照以下步骤:
获取任意格式的日期时间字符串,比如:
$date_str = '2022-03-15 10:30:00';
使用 strtotime() 函数将日期时间字符串转换为 Unix 时间戳:
$timestamp = strtotime($date_str);
如果转换成功,$timestamp 就会保存 Unix 时间戳,表示自 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)以来的秒数。如果转换失败,strtotime() 函数会返回 false。
例如,以下代码将日期字符串转换为 Unix 时间戳:
$date_str = '2022-03-15 10:30:00';
$timestamp = strtotime($date_str);if ($timestamp !== false) {echo $timestamp;
} else {echo '转换失败';
}
输出结果为:
1647346200
表示该日期时间对应的 Unix 时间戳为 1647346200 秒。
需要注意的是,Excel 中的日期时间格式和 PHP 中的日期时间格式不同,需要进行一些转换。具体实现可以按照以下步骤:
获取 Excel 中的日期时间字符串,比如:
$date_str = '44258.7083333333';
将 Excel 中的日期时间格式转换为 PHP 中的日期时间格式。Excel 中的日期时间格式是以基准日期 1900 年 1 月 1 日为起点,每过一天就加 1,每过一秒就加上相应的秒数。PHP 中的日期时间格式是以基准日期 1970 年 1 月 1 日为起点,每过一秒就加 1。因此,需要将 Excel 中的日期时间值减去基准日期的差值(即 25569 天),再乘以一天的秒数(即 86400 秒),得到相对于 Unix 纪元的秒数。然后再将该秒数加上时区偏移量即可。
$excel_date = $date_str - 25569; // Excel 基准日期与 Unix 基准日期的差值
$unix_timestamp = $excel_date * 86400; // 一天的秒数
$unix_timestamp += strtotime('1970-01-01 00:00:00') - strtotime('1900-01-01 00:00:00'); // 加上时区偏移量
如果转换成功,$unix_timestamp 就会保存 Unix 时间戳,表示自 Unix 纪元以来的秒数。如果转换失败,strtotime() 函数会返回 false。
例如,以下代码将 Excel 中的日期时间字符串转换为 Unix 时间戳:
$date_str = '44258.7083333333';
$excel_date = $date_str - 25569;
$unix_timestamp = $excel_date * 86400;
$unix_timestamp += strtotime('1970-01-01 00:00:00') - strtotime('1900-01-01 00:00:00');if ($unix_timestamp !== false) {echo $unix_timestamp;
} else {echo '转换失败';
}
输出结果为:
1647201000
表示该日期时间对应的 Unix 时间戳为 1647201000 秒。
使用PHP将任意格式的日期转换为Unix时间戳相关推荐
- mysql转unix时间戳_mysql日期与unix时间戳互转
#### UNIX时间戳转换为日期用函数: FROM_UNIXTIME(unix_timestamp,format) ```sql select FROM_UNIXTIME(1156219870); ...
- [工具类]将时间转换为unix时间戳格式
写在前面 由于在数据库中存的时间有时间戳格式的数据,在解析以及保存的时候,就需要考虑到数据格式的兼容性问题.看到数据库中的时间字段基本上都是以时间戳格式存储的,没办法,只能将时间进行转换了,考虑到其他 ...
- DateTime时间格式转换为Unix时间戳格式
// DateTime时间格式转换为Unix时间戳格式 public int ConvertDateTimeInt(System.DateTime time) { System.DateTime st ...
- 如何在Excel中的日期和Unix时间戳之间进行转换?
Unix时间戳也被称为纪元时间或POSIX时间,这在很多操作系统或文件格式中被广泛使用. 本教程讨论Excel中日期和Unix时间戳之间的转换. 将日期转换为时间戳 将日期和时间转换为时间戳 将时间戳 ...
- 日期与unix时间戳之间的转换C++实现
之前在https://blog.csdn.net/fengbingchun/article/details/107023645 中介绍过gmtime和localtime的区别,这里介绍下日期与Unix ...
- linux时间戳转换不对,转换为unix时间戳不正确
我有我写了一个函数(如果有一个很好的标准替代,请让我知道...)转换为unix时间戳不正确 time_t get_unix_time(string time_str) { time_t loctime ...
- 将格式化的日期字符串转换为Unix时间戳(php)
strtotime函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳. 函数说明:strtotime(要解析的时间字符串, 计算返回值的时间戳[默认是当前的时间,可选]) ...
- 17位时间戳转换为Unix时间戳及转换工具,代码实现转换 WebKit/Chrome Timestamp Converter
文章目录 前言/目的: 关于17位时间戳 WebKit/Chrome Timestamp的介绍 便捷的在线转换工具 用代码实现转换 Python版本 JavaScript版本 前言/目的: 在浏览微软 ...
- java 获取unix timestamp_获取系统安装日期与Unix时间戳(Unix timestamp)
我们在安装Windows系统时,系统已经给我们将第一次初始装机的日期写入到注册表中,以便于我们以后备查,最通常的做法是开始-运行-输入cmd确定,打开命令提示符,输入systeminfo这个命令,然后 ...
最新文章
- [微信小程序]获取用户当前的城市
- http status 汇总
- 关于ajax访问本地json文件报错404的问题
- Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明
- cf914D. Bash and a Tough Math Puzzle(线段树)
- java注解_Java注解教程及自定义注解
- 12306否认60万用户数据泄露
- HWM和delete,drop,truncate的关系
- 解决 ssh 登录到ubuntu server 慢的问题
- ~~核心编程(三):面向对象——逻辑交互与组合~~
- 常用adb 命令整理
- java ts文件 播放_前端如何播放m3u8格式的视频
- 一起学爬虫(Python) — 04
- 俄罗斯方块Android版
- Python爬虫入门教程 7-100 蜂鸟网图片爬取之二
- 华为防火墙配置SSL+自签CA证书挑战登录
- IOTOS物联中台从0到1开发modbus_rtu驱动 实例详解
- 赵小楼《天道》《遥远的救世主》深度解析(77)叶、冯、刘三人用了丁元英,就用了他的一切,没有能力的时候还谈什么缘,攀缘没有对错,起码得先活着
- 关于angular模态框遇到的坑 Error: [$injector:unpr] Unknown provider
- GUID MBR新一代分区表 DiskGenius