1. php获取当前时间、年份、月份、日期和天数
获取当前时间、年份、月份、日期和天数是PHP编程中常用的实践。PHP提供了多种函数来处理时间日期的获取与格式化。下面将详细介绍PHP中获取和格式化时间日期的常用方法。
获取当前时间主要依赖于PHP的`Date()`函数,该函数能够将时间戳转换为易读的日期与时间格式。函数语法如下:
`Date(format, timestamp)`
其中,`format`参数用于指定输出的日期格式,而`timestamp`参数可选,用来指定时间戳,默认为`time()`函数返回的当前时间戳。
格式化参数`format`涵盖了一些常用日期字符,如:
`Y`表示完整四位数的年份(例如2019);
`y`表示两位数的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三个字母的月份(例如Jun);
`m`表示带前导零的月份(例如04);
`n`表示无前导零的月份(例如4);
`d`表示带前导零的日期(例如01-31);
`j`表示无前导零的日期(例如1-31);
`D`表示星期的3字母缩写(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第几天(例如0表示星期天);
`W`表示一年中的第几周;
`z`表示一年中的第几天(例如0-366);
通过`Date()`函数,我们可以轻松获取和格式化日期与时间。例如,以下代码将输出当前的中文日期:
运行结果:今天是:2019年04月24日
获取简单的时间同样依赖于`Date()`函数,但我们需要使用一些特定的格式化参数。例如,以下是用于获取时间的常用字符:
`H`表示24小时格式,有前导零(例如08,18);
`h`表示12小时格式,有前导零(例如06,11);
`G`表示24小时格式,无前导零(例如9,17);
`g`表示12小时格式,无前导零(例如6,12);
`i`表示分钟,有前导零(例如00-59);
`s`表示秒,有前导零(例如00 -59);
`A`表示大写的午前和午后(例如AM 或 PM);
`a`表示小写的午前和午后(例如am 或 pm);
`I`表示是否为夏令时;
在获取时间的实例中,下面的代码将输出当前的完整时间:
运行结果:今天是:2019年04月24日 16:34:58 PM
获取时区时,可以通过设置时区参数来确保准确的时间。例如,将时区设置为"Asia/Shanghai",则代码如下:
运行结果:当前时间是:2019年04月24日 16:34:58 PM (上海时区)
为了获取日期信息,可以使用`getdate()`函数。这个函数返回一个数组,包含指定的日期和时间信息,如果没有给出时间戳,则输出本地当前的日期和时间。函数声明如下:
array getdate(int timestamp);
如果需要验证日期的正确性,在程序开发中,可以使用`checkdate()`函数来检查输入的日期是否有效。如果日期有效,返回`true`,否则返回`false`。函数声明如下:
bool checkdate(int month, int day, int year);
时间戳的获取可以通过`time()`函数实现,该函数返回当前时间戳。函数声明如下:
int time();
创建日期时,可以使用`mktime()`函数与`date()`函数。`mktime()`函数返回日期的Unix时间戳,而`date()`函数则用于将时间戳转换为可读的格式。函数语法如下:
时间戳时间的实例代码如下:
运行结果:创建日期是:2015-06-10 09:12:31 AM
通过字符串创建日期时,可以使用`strtotime()`函数。这个函数可以将人类可读的字符串转换为Unix时间戳,从而实现日期和时间的创建。函数语法如下:
字符串时间的实例代码如下:
运行结果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函数可能不完全准确,因此应检查输入的字符串是否正确。
更多日期实例,例如输出下周六的日期和输出七月四日之前的天数,可以使用`Date()`函数配合其他日期相关函数实现。例如,以下代码展示了输出下周六的日期:
实例代码如下:
运行结果:2019年04月27日
输出七月四日之前的天数的实例代码如下:
运行结果:2019年07月01日
在网站中自动更新版权年份时,可以使用`Date()`函数。以下是一个示例代码,用于在网站上自动更新年份:
实例代码如下:
运行结果:版权所有 © 2019
通过以上介绍,我们可以了解到PHP中获取与格式化时间日期的多种方法,这对于处理时间相关问题非常有用。确保正确使用这些函数,可以提高代码的效率与准确性。希望这些信息能对您在PHP编程中处理时间日期问题有所帮助。
2. php求一段时间内各周的起始时间和结束时间
function getTimeList($startTime, $endTime, $isWeek=true) {
$result = array();
if(!($st = strtotime($startTime)) || !($et = strtotime($endTime))) return false;
$day = 86400; //一天24*60*60
$sDate = getdate($st);
if($isWeek) {
$result['weekly'] = array();
$nextTime = (6 - $sDate['wday']) * $day + $st;
$currentTime = $st;
while($nextTime < $et) {
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => gmdate('Y-m-d', $nextTime));
$currentTime = $nextTime + 86400;
$nextTime = $nextTime + 604800;//7天*24小时*60分*60秒
}
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => $endTime);
} else {
$result['monthly'] = array();
$currentMonth = $st;
$m = $sDate['mon'];
$year = $sDate['year'];
while($lastMonth < $et) {
if($m == 12) {
$m = 1;
$year = $year + 1;
} else $m++;
$firstDate = strtotime($year."-".$m."-01"); //下月初时间截
$lastMonth = $firstDate - $day;//得到本月末时间截
if($lastMonth > $et) $lastMonth = $et;
$result['monthly'][] = array('monthStart' => gmdate('Y-m-d', $currentMonth), 'monthEnd' => gmdate('Y-m-d', $lastMonth));
$currentMonth = $firstDate;
}
}
return $result;
}
调用:
$w = getTimeList('2013-05-02', '2013-08-06');
print_r($w);
echo '<p/>';
$m = getTimeList('2013-05-02', '2014-03-06', false);
print_r($m);
测试OK,你看看是不是你想要的吧
3. 用PHP怎么取得7天前的日期
$date = date('Y-m-d', strtotime('-7 days')); //保留年-月-日
<?php echo echo date(”Y-m-d H:i:s”,strtotime(”-7 day”)) ;?> //保留年-月-日 时:分:秒
strtotime('-7 days') 获得的是时间戳
strtotime('now')); //获取当前的时间戳
time() //获取的时间戳
(3)php一周前的时间扩展阅读:
一、使用函式 date() 实现
在编辑器中输入<?php echo $showtime=date("Y-m-d H:i:s");?>,点击回车就可以得知当前的时间。其中Y是代表4位的年份,H是24小时制,i 是分钟,如: "00" 至 "59" 。s -是秒,如: "00" 至 "59" 。
d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。
二、使用time函数
在编辑器中输入echo date("y-m-d",$time)点击回车就可以得知当前的时间,其中Y是代表4位的年份,m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。
三、使用strftime函数
在编辑器中输入echo strftime ("%hh%m %a %d %b" ,time());点击回车就可以得知当前的时间。