使用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这个命令,然后 ...
最新文章
- 数据资源丨开放中的行政大数据——国内篇(附链接)
- LeetCode_349. 两个数组的交集
- Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
- 洛谷P3919可持久化线段树
- ORACLE 等待事件的分类
- 实现图片大小的自动控制( 图片大小控制CSS代码)
- 基于Emgu cv的图像拼接(转)
- SDOI2017round1酱油记day0
- Mongodb使用总结
- 贝叶斯优化核极限学习机KELM用于回归预测
- 精心整理Node.js入门---原理篇
- 【软件体系结构】软件体系结构概述
- 风变python基础语法第11关_风变编程-Python基础语法
- 常州一中训练试题泛做 Part 1
- 后台将图片以base64形式传给前台,前台展示
- 【C++复习总结回顾】—— 【五】数组与指针
- HTM5新手学习的一些日常总结,相互交流和相互学习。
- iOS 自动布局报错:Unable to simultaneously satisfy constraints.
- IDEA 常用快捷键(详细)
- 使用Save To Notion 保存豆瓣书籍或电影的惨痛教训/Save to Notion保存豆瓣电影不显示封面
热门文章
- CSDN2022总排名前十统计
- 学会读懂traceback,处理Python异常
- apk签名打包报错,一堆警告
- GPU价格暴跌,腾讯押注元宇宙,苹果在华招聘汽车人,今日更多大新闻在此
- Quaternion to angular velocity. 四元数 角速度
- 国内Cortex-M内核MCU产品性能哪家强?
- 企业数字化转型迫切,团队协同工具何以成为“杀手锏”?
- 外企面试,哪有你想象的那么难!
- 数据结构|连通图、完全图、无向图、有向图的边数计算问题
- type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel