PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是:
- strtotime():将任何英文文本的日期时间描述解析为时间戳。
- mktime():从日期取得时间戳。
strtotime()
strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE 。语法:
1 |
int strtotime ( string time [, int now] ) |
参数 time 为被解析的字符串,是根据 GNU 日期输入格式表示的日期。
例子:
2 |
echo strtotime("2009-10-21 16:00:10"); //输出 1256112010 |
3 |
echo strtotime("10 September 2008"); //输出 1220976000 |
4 |
echo strtotime("+1 day"), "<br />"; //输出明天此时的时间戳 |
mktime()
mktime() 函数用于从日期取得时间戳,成功返回时间戳,否则返回 FALSE 。语法:
1 |
int mktime(时, 分, 秒, 月, 日, 年) |
例子:
2 |
echo mktime(21, 50, 55, 07, 14, 2010); //输出“1279115455” |
参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。
mktime() 在做日期计算和验证方面很有用,它会自动计算超出范围的输入的正确值。例如下面例子输出的都是 2008-01-01:
2 |
echo date("Y-m-d", mktime(0, 0, 0, 12, 32, 2007)); |
3 |
echo date("Y-m-d", mktime(0, 0, 0, 13, 1, 2007)); |
下个月的最后一天。任何给定月份的最后一天都可以被表示为下个月的第 "0" 天,而不是 -1 天,如下面的例子:
2 |
$lastday = mktime(0, 0, 0, 3, 0, 2008); |
3 |
echo strftime("2008年最后一天是:%d", $lastday); |
自定义函数
下面的函数与strtotime功能差不多。
02 |
$date_str = "2011-09-11 17:00:00"; |
03 |
echo $time_str = str_format_time($date_str); |
05 |
function str_format_time($timestamp = '') |
07 |
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)) |
09 |
list($date,$time)=explode(" ",$timestamp); |
10 |
list($year,$month,$day)=explode("-",$date); |
11 |
list($hour,$minute,$seconds )=explode(":",$time); |
12 |
$timestamp=gmmktime($hour,$minute,$seconds,$month,$day,$year); |
22 |
echo date("Y-m-d H:i:s", $time_str); |
- javascript中日期格式与时间戳之间的转化
日期格式与时间戳之间的转化 一:日期格式转化为时间戳 function timeTodate(date) { var new_str = date.replace(/:/g,'-'); new_str ...
- js中日期格式与时间戳格式互换
2014-04-23 18:55:49:123 日期格式 1398250549123 时间戳格式 前台显示日期格式,则 function tsToTime(ts) { var da ...
- shell的date日期循环方法:日期格式转时间戳计算,再将时间戳转回日期格式
1,日期对象转时间戳current_day 2,计算增量的时间戳,即循环每步的增量one_day 3,循环体计算,日期变量加增量后重新赋值自己 4,时间戳转回日期格式后输出 current_day=2 ...
- fastjson对象转为json字符串日期格式变为时间戳问题
今天尝试将map集合转为json对象时遇到一个问题.map中的value为日期格式如"2019-03-01",在使用JSONObject.toJSON(map).toString( ...
- 原生webview 日期格式转时间戳兼容问题
需要根据后端返回的日期格式返回相应时间戳 后端返回的数据格式: let dateStr = 2019-04-19T10:39:10.000+0000; 直接new Date(dateStr ).g ...
- nodejs moment 修改时间格式 日期格式与时间戳格式互相转化
node js moment 修改时间格式 日期格式与int格式互相转化 nvm use 8.3 > moment = require('moment') > days = '2019-0 ...
- js日期格式与时间戳相互转换
本文转自:https://blog.csdn.net/Lc_style/article/details/80626748 1.将日期格式转化为时间戳: var date = new Date('201 ...
- APP 和小程序中通过日期格式获取时间戳的一个bug
介绍一下背景:业务逻辑就不多说了,就说关键出问题的一步,需要将 2019-10-10 这个格式转换为时间戳.在不同平台不同场景下问题还很怪异 app上:ios 安卓线上的都有问题 ios模拟器没问题 ...
- js 时间戳转为日期格式
原文:js 时间戳转为日期格式 js 时间戳转为日期格式 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time) ...
随机推荐
- Microsoft Office下载地址
文件名: cn_office_professional_plus_2016_x86_x64_dvd_6969182.iso 语言: Chinese – Simplified 文件大小:2.41 GB ...
- Eclipse-maven项目发布到tomcat没有附带lib拷贝
在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很正常 ...
- 替换文件最后一行中的所有e 为 E
#root@athena5plus:~# cat b northwest NW Charles Main 3.0 .98 3 ...
- Emmet
一.简介 Emmet (前身为 Zen Coding) ,不是软件也不是代码,是编辑器(如sublime text)的插件,相应的后缀文件(.html/.css)输入指定的缩写语法,按下tab键就能生 ...
- linux 问答
问:1 如何查看当前的Linux服务器的运行级别? 答: ‘who -r’ 和 ‘runlevel’ 命令可以用来查看当前的Linux服务器的运行级别. 问:2 如何查看Linux的默认网关? 答: ...
- 【poj3070】 Fibonacci
http://poj.org/problem?id=3070 (题目链接) 题意 用矩阵乘法求fibonacci数列的第n项. Solution 矩乘入门题啊,题目把题解已经说的很清楚里= =. 矩乘 ...
- PHP Code Reviewing Learning
相关学习资料 http://code-tech.diandian.com/post/2012-11-04/40042129192 http://ssv.sebug.net/高级PHP应用程序漏洞审核技 ...
- 周期串(Periodic Strings,UVa455)
解题思路: 对一个字符串求其最小周期长度,那么,最小周期长度必定是字符串长度的约数,即最小周期长度必定能被字符串长度整除 其次,对于最小周期字符串,每位都能对应其后周期字串的每一位, 即 ABC A ...
- Unable to open liblaunch_sim.dylib. Try reinstalling Xcode or the simulator
关于Xcode7 Beta报错 simulator runtime is not available. Unable to open liblaunch_sim.dylib Try reinstall ...
- sqlmap注入检测
1.列出可利用数据库: sqlmap -u url --dbs 2.列出某个数据库中表: sqlmap -u url --tables -D south sqlmap -u ur ...