php关于日期时间 php日期 php时间
strtotime 的牛逼用法:
$a='-4 days '.date('Y-m-d');
$day = date('Y-m-d', strtotime($a));
var_dump($day);
/** * @name 网页监测日数据处理 * @param string $startTime 查询开始时间 * @param string $endTime 查询结束时间 * @param Array $reportData 查询结果数组 * @return Array(Map) */ private function parsePageRepoetData( $startTime , $endTime , /*Array*/ $reportData ) { $newData = array (); foreach ( $reportData as $v ) { $newData [ $v [ 'gather_date' ]] = $v ; } //获取时间间隔 $day_mac = ceil (( strtotime ( $endTime ) - strtotime ( $startTime )) / 3600 / 24); $dateArray = array (); $pvArray = array (); $uvArray = array (); for ( $i = $day_mac ; $i >= 0; $i --) { $day = date ( 'Y-m-d' , strtotime (- $i . ' days ' . $endTime )); if (isset( $newData [ $day ])) { $dateArray [] = trim( $newData [ $day ][ 'gather_date' ]); $pvArray [] = (int) $newData [ $day ][ 'pv_count' ]; $uvArray [] = (int) $newData [ $day ][ 'uv_count' ]; } else { $dateArray [] = $day ; $pvArray [] = 0; $uvArray [] = 0; } } if ( $dateArray ){ foreach ( $dateArray as $key =>& $val ){ $val = date ( 'm-d' , strtotime ( $val )); } } $data [ 'date' ] = $dateArray ; $data [ 'pvCount' ] = $pvArray ; $data [ 'uvCount' ] = $uvArray ; return $data ; } |
php获取时间是件很容易的事情,下面小编就过来简单的分享一下个人所学php的一些经验吧;
操作方法
1、获取当前时间方法date()
很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式、timestamp为时间戳--可填参数。
2、获取时间戳方法time()、strtotime()
这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime($time, $now)为将时间格式转为时间戳,$time为必填。清楚了这个,想了解更多,请继续往下看。
3、 date($format)用法
比如:
echo date('Y-m-d') ,输出结果:2012-03-22
echo date('Y-m-d H:i:s'),输出结果:2012-03-22 23:00:00
echo date('Y-m-d', time()),输出结果:2012-03-22 23:00:00(结果同上,只是多了一个时间戳参数)(时间戳转换为日期格式的方法)
echo date('Y').'年'.date('m').'月'.date('d').'日',输出结果:2012年3月22日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | PHP设置日期默认值以及验证: const DEFAULT_SEARCH_DAY = 7; //默认查询天数 const MAX_SEARCH_DAY = 30; //最大查询天数 $startTime = $this ->getParam( 'startTime' ); $endTime = $this ->getParam( 'endTime' ); if (! $startTime && ! $endTime ){ $endTime = date ( 'Y-m-d' , strtotime ( '-1 days' )); $startTime = date ( 'Y-m-d' , strtotime ( '-' .self::DEFAULT_SEARCH_DAY. ' days' )); } if (! $startTime || ! $endTime || $endTime < $startTime ){ printJson(null, 1, '请传递正确的时间参数!' ); } if (( strtotime ( $endTime ) - strtotime ( $startTime ))/60/60/24 > self::MAX_SEARCH_DAY){ printJson(null, 1, '开始日期和结束日期最多只能相差' .self::MAX_SEARCH_DAY. '天!' ); } |
//计算自动星期几和日期
$startDate = null;
$endDate = date('Y-m-d');
$substruct = 0; //要相减的天数
$week = date('N'); //获取今天是星期几
switch ($week) {
case 1:
$substruct = 3;
break;
case 3:
$substruct = 2;
break;
case 5:
$substruct = 1;
break;
default:
}
$startDateStr ='-'.$substruct.' days '.date('Y-m-d');
$startDate = date('Y-m-d', strtotime($startDateStr));
var_dump($startDate,$endDate,$substruct); exit();
PHP获取今天、昨天、明天的日期
- echo "今天:".date("Y-m-d")."<br>";
- echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";
- echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";
- echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>";
- echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";
- echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";
- echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";
- echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";
- echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";
- echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";
php判断某日期是哪一年的第几周
在判断某一天是哪一年的第几周的时候,根据采用的国际标准(忘了叫什么名字了),年首或者年末的那几天有可能不属于今年的第一周或者最后一周。
上代码:
<?php
echo date("YW",strtotime("20141229"))."/n";
echo date("YW",strtotime('20160101'))."/n";
?>
----------输出----------
201401
201653
明白问题所在了么?
自己曾经写过一段代码来解决这个问题,直到后来发现把Y换成o,问题就解决了
<?php
echo date("oW",strtotime("20141229"))."/n";
echo date("oW",strtotime('20160101'))."/n";
?>
----------输出----------
201501
201553
php获取本周开始日期和结束日期的方法
代码如下:
//当前日期
$sdefaultDate = date("Y-m-d");
//$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
$first=1;
//获取当前周的第几天 周日是 0 周一到周六是 1 - 6
$w=date('w',strtotime($sdefaultDate));
//获取本周开始日期,如果$w是0,则表示周日,减去 6 天
$week_start=date('Y-m-d',strtotime("$sdefaultDate -".($w ? $w - $first : 6).' days'));
//本周结束日期
$week_end=date('Y-m-d',strtotime("$week_start +6 days"));
posted on 2013-08-23 16:38 andydaopeng 阅读(421) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)