?php
我们提供的服务有:网站制作、网站建设、微信公众号开发、网站优化、网站认证、肃北ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的肃北网站制作公司
echo date('Y-m-d', strtotime('20150203'));
strtotime 这个函数用来处理时间很好用,下面几个例子。
一天前 strtotime('-1 day');
七天前 strtotime('-7 days');
另外这个strtotime 对其他时间格式识别也很好用 yyyy/mm/dd yyyymmdd 等。
配合 date 就可以格式你想要的日期,
你问的这个就是 yyyymmdd 格式化为 yyyy-mm-dd。
=======
另外附一个该函数的手册的链接,里面还有其他好多用法:
php日期格式转换总结:
?php
//将当前时间转换成yyyy-mm-dd格式串,再转换成日期格式,绕了一圈哈
echo strtotime(date('Y-m-d',time()).' 00:00:00');
//将GNU 日期输入格式的字符转换成时间
echo strtotime('now');
//标准的字符串转换成时间
$t = '2012-9-10 15:18:06';
$time = strtotime($t);
//将时间转换成日期字符yyyymmdd,再转换成整型格式
$d = intval(date('Ymd',$time));
echo '付款时间:'.$d;
?php
header("Content-type: text/html; charset=utf-8");
$txDate = '2016-06-16';
$dateTime1 = strtotime($txDate); //int 1466028000 将英文文本日期时间解析为 Unix 时间戳:
$dateTime2= date("Y-m-d H:i:s",$dateTime1); //string '2016-06-16 00:00:00'
(length=19) Date() 函数把时间戳格式化为更易读的日期和时间。
//拼接今日最后时间2016-06-16 23:59:59
$dateTime= date("Y-m-d H:i:s",strtotime(date("Y-m-d",strtotime($dateTime2))."+ 23 hours 59 minutes 59 seconds ")); //string '2016-06-16 23:59:59' (length=19)
$sql = select * form `vvt_user` where userid = 100 AND date_time = $dateTime2 AND date_time = $dateTime;?
函数名:date_format
参数: $string 时间源,可以是2006-04-24 09:56:07这种格式,$format要格式化的形式,如%Y年%m月%d日%H时%M分%S秒看需要删改
示例:?php
echo date_format($rs['time'],'%Y年%m月%d日%H时%M分%S秒');
?
function date_format($string, $format="%b %e, %Y", $default_date=null)
{
if (substr(php_OS,0,3) == 'WIN') {
$_win_from = array ('%e', '%T', '%D');
$_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y');
$format = str_replace($_win_from, $_win_to, $format);
}
if($string != '') {
return strftime($format, smarty_make_timestamp($string));
} elseif (isset($default_date) $default_date != '') {
return strftime($format, smarty_make_timestamp($default_date));
} else {
return;
}
} function smarty_make_timestamp($string)
{
if(empty($string)) {
$string = "now";
}
$time = strtotime($string);
if (is_numeric($time) $time != -1)
return $time; // is mysql timestamp format of YYYYMMDDHHMMSS?
if (PReg_match('/^\d{14}$/', $string)) {
$time = mktime(substr($string,8,2),substr($string,10,2),substr($string,12,2),
substr($string,4,2),substr($string,6,2),substr($string,0,4)); return $time;
} // couldn't recognize it, try to return a time
$time = (int) $string;
if ($time 0)
return $time;
else
return time();
标准时间与时间戳转换如下:
?php
$nowtime=date("Y-m-d H:i:s");
//标准时间转为时间戳
$dateline=strtotime($nowtime);
//时间戳转为标准时间
$nowtime=date('H:i:s',$dateline);
?
PHP时间戳函数获取英文文本日期时间:
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2015-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”)) 结果:2015-01-23 09:40:25
需要注意的问题:
一、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2015-12-5)
二、php5.1以上时间戳会与实际时间相差8小时,解决办法如下
1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!
2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
3、在程序中添加时间的初始化的语句即:“date_default_timezone_set("Asia/Shanghai"); ”
这样就可以实现输出的是北京时间了!