<?php
/**
* User: yuzhao
* CreateTime: 2018/10/30 上午11:58
* Description: 时间工具类
*/
class TimeTool {
/**
* User: yuzhao
* CreateTime: 2018/11/14 上午11:20
* @var
* Description: 统一时间
*/
private $time=0;
/**
* User: yuzhao
* CreateTime: 2018/11/14 上午11:25
* @var
* Description: 当前对象
*/
private static $myself;
/**
* TimeTool constructor.
*/
public function __construct($time)
{
$this->time = $time;
}
/**
* User: yuzhao
* CreateTime: 2018/11/14 上午11:20
* Description: 单例模式返回当前对象
*/
public static function instance($time=null) {
if (self::$myself === null || (self::$myself->time !== $time && $time!==null)) {
self::$myself = new TimeTool($time);
}
return self::$myself;
}
/**
* User: yuzhao
* CreateTime: 2018/10/30 下午2:42
* @return array
* Description: 获取时间基本信息
*/
public function getTimeBaseInfo() {
return array(
// 当前时间
'now_time' => $this->time,
'ymd' => date('Ymd', $this->time),
'today_week'=> $this->getTodayWeek()
);
}
/**
* User: yuzhao
* CreateTime: 2018/11/14 上午10:31
* @param $day
* @param string $format
* @return mixed
* Description: 获取本周日期
*/
public function getNowWeekDay($day, $format = "Ymd") {
$day--;
$week = date('w', $this->time);
//星期日排到末位
if(empty($week)){
$week=7;
}
return date($format,strtotime( '+' . $day+1-$week .' days',$this->time));
}
/**
* User: yuzhao
* CreateTime: 2018/11/7 上午10:51
* @return false|int
* Description: 获取上一周的某一天
*/
public function getLastWeekDay($day,$format='Ymd') {
$day--;
$week = date('w', $this->time);
//星期日排到末位
if(empty($week)){
$week=7;
}
return date($format,strtotime( '+' . $day+1-$week-7 .' days',$this->time));
}
/**
* User: yuzhao
* CreateTime: 2018/11/13 下午11:37
* Description: 后去今天是星期几
*/
public function getTodayWeek() {
return date("w", $this->time);
}
/**
* User: yuzhao
* CreateTime: 2018/11/7 上午10:52
* Description: 获取今天的开始时间
*/
public function getTodayStart() {
return mktime(0,0,0,date('m'),date('d'),date('Y'));
}
/**
* User: yuzhao
* CreateTime: 2018/11/7 上午10:52
* Description: 获取今天的结束时间
*/
public static function getTodayEnd() {
return mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
}
/**
* User: yuzhao
* CreateTime: 2018/11/7 上午10:55
* @return false|string
* Description: 获取任务名
*/
public static function getNowWeekStartTime() {
return date('Ymd', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600));
}
/**
* User: yuzhao
* CreateTime: 2018/11/14 上午11:44
* @param $day1
* @param $day2
* @return float|int
* Description: 获取两个日期相差的天数
*/
public static function diffBetweenTwoDays ($day1, $day2) {
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 < $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return ($second1 - $second2) / 86400;
}
}
时间工具
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 时间自由,我们才能获得人生的自由。 今天我们来继续上一节课所谈到的工具问题。孔子说过,工欲善其事,必先利其器,同样...
- 工欲善其事必先利其器 工具重新定义了时间和成本 包括: 1.纸笔——管理短期;优点:容易找到;缺点:容易丢弃;携带...
- 管理时间用工具可以事半功倍从时效性和方便来选择1首先纸笔缺点易丢失。不易携带,可以用小本子和笔,管理短期。 2利用...
- 子曰:“工欲善其事,必先利其器。” 工具重新定义了时间和成本。 我们处在最好的时代,科技渗透到工作生活的方方面面,...