PHP 计算某日是这一年的第几周
发布网友
发布时间:2022-04-28 02:52
我来回答
共11个回答
懂视网
时间:2022-04-28 07:13
php计算当前时间是一年中的第几周的方法:【$week = intval(date('W',time()));】。intval()函数用于获取变量的整数值,成功时返回integer值,失败时返回0。
具体方法:
(推荐教程:php视频教程)
$week = intval(date('W',time()));
intval() 函数用于获取变量的整数值。成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。
date() 函数可把时间戳格式化为可读性更好的日期和时间。
W:ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)。
热心网友
时间:2022-04-28 04:21
在判断某一天是哪一年的第几周的时候,根据采用的国际标准(忘了叫什么名字了),年首或者年末的那几天有可能不属于今年的第一周或者最后一周。
代码如下:
<?php
echo date("oW",strtotime("20141229"))."\n";
echo date("oW",strtotime('20160101'))."\n";
?>
扩展资料
php计算时间段的天数:
$firstday = date("Y-m-d H:i:s",time());//当前日期
$timestamp=strtotime($firstday);//当前日期时间戳
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));//上个月开始的日期
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));//上个月结束的日期
$stimestamp = strtotime($firstday);
$etimestamp = strtotime($lastday);// 计算日期段内有多少天
$days = ($etimestamp-$stimestamp)/86400+1;// 保存每天日期
$date = array();
for($i=0; $i<$days; $i++){
$date[] = date('Y-m-d', $stimestamp+(86400*$i));
}
热心网友
时间:2022-04-28 05:39
我知道日期函数DatePart()可以获得该时日是第几周,但这个是以星期天作为一周的第一天开始算的,导致结果有所偏差,我需要按星期一作为一周的第一天来算,求实现方法。请各位高手指导。
热心网友
时间:2022-04-28 07:14
/*
系统自带的date('W',time()) 有bug 比如,一年中的第一天如果不是周一的话,返回值是
52或者53。 可以实测一下。就是说, 系统默认认为这一天是去年的第52/53周。
*/
echo get_weeks_num('2017-01-01');
function get_weeks_num($time){
$month = intval(date('m',$time));//当前时间的月份
$fyear = strtotime(date('Y-01-01',$time));//今年第一天时间戳
$fdate = intval(date('N',$fyear));//今年第一天 周几
$sysweek = intval(date('W',$time));//系统时间的第几周
//大于等于52 且 当前月为1时, 返回1
if(($sysweek >= 52 && $month == 1)){
return 1;
}elseif($fdate == 1){
//如果今年的第一天是周一,返回系统时间第几周
return $sysweek;
}else{
//返回系统周+1
return $sysweek + 1;
}
}
热心网友
时间:2022-04-28 09:05
<?php
$strTime = '2017-09-14';
$intWeek = ceil(((strtotime($strTime) - strtotime("2017-01-01 00:00:00")))/(7*86400));
var_mp($strTime."是今年的第".$intWeek."周");
?>
热心网友
时间:2022-04-28 11:13
<?php
error_reporting(0);
echo date('W',strtotime('2018-03-05'));
echo "<hr>";
echo date('W',strtotime("now"));
echo "<hr>";
$start=intval(date('W',strtotime('2018-03-05')));
//echo $start;
//var_mp($start);
$end=intval(date('W',strtotime('now')));
//echo $end;
//var_mp($end);
$week=$end-$start;
echo $week;
var_mp($week);
?>
热心网友
时间:2022-04-28 13:38
echo date('W',strtotime('2016-10-10'));
W 是大写
第一个参数必需。规定输出日期字符串的格式。可使用下列字符:
d - 一个月中的第几天(从 01 到 31)
D - 星期几的文本表示(用三个字母表示)
j - 一个月中的第几天,不带前导零(1 到 31)
l('L' 的小写形式)- 星期几的完整的文本表示
N - 星期几的 ISO-8601 数字格式表示(1表示Monday[星期一],7表示Sunday[星期日])
S - 一个月中的第几天的英语序数后缀(2 个字符:st、nd、rd 或 th。与 j 搭配使用)
w - 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])
z - 一年中的第几天(从 0 到 365)
W - 用 ISO-8601 数字格式表示一年中的星期数字(每周从 Monday[星期一]开始)
F - 月份的完整的文本表示(January[一月份] 到 December[十二月份])
m - 月份的数字表示(从 01 到 12)
M - 月份的短文本表示(用三个字母表示)
n - 月份的数字表示,不带前导零(1 到 12)
t - 给定月份中包含的天数
L - 是否是闰年(如果是闰年则为 1,否则为 0)
o - ISO-8601 标准下的年份数字
Y - 年份的四位数表示
y - 年份的两位数表示
a - 小写形式表示:am 或 pm
A - 大写形式表示:AM 或 PM
B - Swatch Internet Time(000 到 999)
g - 12 小时制,不带前导零(1 到 12)
G - 24 小时制,不带前导零(0 到 23)
h - 12 小时制,带前导零(01 到 12)
H - 24 小时制,带前导零(00 到 23)
i - 分,带前导零(00 到 59)
s - 秒,带前导零(00 到 59)
u - 微秒(PHP 5.2.2 中新增的)
e - 时区标识符(例如:UTC、GMT、Atlantic/Azores)
I(i 的大写形式)- 日期是否是在夏令时(如果是夏令时则为 1,否则为 0)
O - 格林威治时间(GMT)的差值,单位是小时(实例:+0100)
P - 格林威治时间(GMT)的差值,单位是 hours:minutes(PHP 5.1.3 中新增的)
T - 时区的简写(实例:EST、MDT)
Z - 以秒为单位的时区偏移量。UTC 以西时区的偏移量为负数(-43200 到 50400)
c - ISO-8601 标准的日期(例如 2013-05-05T16:34:42+00:00)
r - RFC 2822 格式的日期(例如 Fri, 12 Apr 2013 12:01:05 +0200)
U - 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过的秒数
同时,也可使用下列预定义常量(从 PHP 5.1.0 开始可用):
DATE_ATOM - Atom(例如:2013-04-12T15:52:01+00:00)
DATE_COOKIE - HTTP Cookies(例如:Friday, 12-Apr-13 15:52:01 UTC)
DATE_ISO8601 - ISO-8601(例如:2013-04-12T15:52:01+0000)
DATE_RFC822 - RFC 822(例如:Fri, 12 Apr 13 15:52:01 +0000)
DATE_RFC850 - RFC 850(例如:Friday, 12-Apr-13 15:52:01 UTC)
DATE_RFC1036 - RFC 1036(例如:Fri, 12 Apr 13 15:52:01 +0000)
DATE_RFC1123 - RFC 1123(例如:Fri, 12 Apr 2013 15:52:01 +0000)
DATE_RFC2822 - RFC 2822(Fri, 12 Apr 2013 15:52:01 +0000)
DATE_RFC3339 - 与 DATE_ATOM 相同(从 PHP 5.1.3 开始)
DATE_RSS - RSS(Fri, 12 Aug 2013 15:52:01 +0000)
DATE_W3C - 万维网联盟(例如:2013-04-12T15:52:01+00:00)
热心网友
时间:2022-04-28 16:19
把你说的“某日”转换成时间戳,姑且认为变量是$time,然后date('W',$time)就是第几周
热心网友
时间:2022-04-28 19:17
echo intval(date('W',strtotime('2012-10-30')));
其中:strtotime函数可以将一个日期转换为时间戳。进而传递给date函数,date直接使用“W”参数读出一年中的第几周。
热心网友
时间:2022-04-28 22:32
echo date('W',strtotime('2012-10-30'));
W为大写,小写的是星期几
热心网友
时间:2022-04-29 02:03
echo intval(date('W',strtotime('2010-3-12')));