本文主要和大家分享php获取时间, date()格式化一个本地时间/日期,返回将整数timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为 time()
<?php
/**
* php 获取时间(今天,昨天,三天内,本周,上周,本月,三年内,半年内,一年内,三年内)
*
* author:ihelloworld2010@gmail.com
* date:2012-06-28 16:00:01
*/
$q = $_GET['q'] ? intval($_GET['q']) : 0;
$text = '';
$now = time();
if ($q === 1) {// 今天
$text = '今天';
$beginTime = date('Y-m-d 00:00:00', $now);
$endTime = date('Y-m-d 23:59:59', $now);
} elseif ($q === 2) {// 昨天
$text = '昨天';
$time = strtotime('-1 day', $now);
$beginTime = date('Y-m-d 00:00:00', $time);
$endTime = date('Y-m-d 23:59:59', $now);
} elseif ($q === 3) {// 三天内
$text = '三天内';
$time = strtotime('-2 day', $now);
$beginTime = date('Y-m-d 00:00:00', $time);
$endTime = date('Y-m-d 23:59:59', $now);
} elseif ($q === 4) {// 本周
$text = '本周';
$time = '1' == date('w') ? strtotime('Monday', $now) : strtotime('last Monday', $now);
$beginTime = date('Y-m-d 00:00:00', $time);
$endTime = date('Y-m-d 23:59:59', strtotime('Sunday', $now));
} elseif ($q === 5) {// 上周
$text = '上周';
// 本周一
$thisMonday = '1' == date('w') ? strtotime('Monday', $now) : strtotime('last Monday', $now);
// 上周一
$lastMonday = strtotime('-7 days', $thisMonday);
$beginTime = date('Y-m-d 00:00:00', $lastMonday);
$endTime = date('Y-m-d 23:59:59', strtotime('last sunday', $now));
} elseif ($q === 6) {// 本月
$text = '本月';
$beginTime = date('Y-m-d 00:00:00', mktime(0, 0, 0, date('m', $now), '1', date('Y', $now)));
$endTime = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
} elseif ($q === 7) {// 三月内
$text = '三月内';
$time = strtotime('-2 month', $now);
$beginTime = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
$endTime = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
} elseif ($q === 8) {// 半年内
$text = '半年内';
$time = strtotime('-5 month', $now);
$beginTime = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
$endTime = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
} elseif ($q === 9) {// 一年内
$text = '一年内';
$beginTime = date('Y-m-d 00:00:00', mktime(0, 0,0, 1, 1, date('Y', $now)));
$endTime = date('Y-m-d 23:39:59', mktime(0, 0, 0, 12, 31, date('Y', $now)));
} elseif ($q === 10) {// 三年内
$text = '三年内';
$time = strtotime('-2 year', $now);
$beginTime = date('Y-m-d 00:00:00', mktime(0, 0, 0, 1, 1, date('Y', $time)));
$endTime = date('Y-m-d 23:39:59', mktime(0, 0, 0, 12, 31, date('Y')));
}
echo $text;
echo '<br />';
echo $beginTime;
echo '<br />';
echo $endTime;总结:
希望通过本篇文章能让小伙伴们对php获取时间有一个更深的理解和掌握。
相关推荐:
立即学习“PHP免费学习笔记(深入)”;
以上就是php 获取时间详解的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号