首页 > 后端开发 > 正文

PHP计算一年多少个星期和每周的开始和结束日期

2024-09-18 01:32:29 | 我爱编程网

PHP计算一年多少个星期和每周的开始和结束日期很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

本文目录一览:

PHP计算一年多少个星期和每周的开始和结束日期

PHP计算一年多少个星期和每周的开始和结束日期

PHP计算一年多少个星期和每周的开始和结束日期?方法如下:
方法一:
<php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));
echo $year . '年一共有' . $weeks . '周<br />';
if ($week > $weeks || $week <= 0)
{
$week = 1;
}
if ($week < 10)
{
$week = '0' . $week;
}
$timestamp['start'] = strtotime($year . 'W' . $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);
echo $year . '年第' . $week . '周开始时间戳:' . $timestamp['start'] . '<br />';
echo $year . '年第' . $week . '周结束时间戳:' . $timestamp['end'] . '<br />';
echo $year . '年第' . $week . '周开始日期:' . date("Y-m-d", $timestamp['start']) . '<br />';
echo $year . '年第' . $week . '周结束日期:' . date("Y-m-d", $timestamp['end']);
?>
方法二: <?php
header("Content-type:text/html;charset=utf-8");
function getIsoWeeksInYear($year)
{
$date = new DateTime;
$date->setISODate($year, 53);
return ($date->format("W") === "53" ? 53 : 52);
}
function weekday($custom_date)
{
$week_start = date('d-m-Y', strtotime('this week monday', $custom_date));
$week_end = date('d-m-Y', strtotime('this week sunday', $custom_date));
$week_array[0] = $week_start;
$week_array[1] = $week_end;
return $week_array;
}
echo '<br> Weeks in 2013<br>' . getIsoWeeksInYear(2013);
$weekday = weekday(strtotime(date('d-m-Y', strtotime('5-8-2013'))));
echo '<br> 10-8-2013';
echo '<br>Start: ' . $weekday[0];
echo '<br>End: ' . $weekday[1];
?>
或者方法三:
function get_week($year) {
$year_start = $year . "-01-01";
$year_end = $year . "-12-31";
$startday = strtotime($year_start);
if (intval(date('N', $startday)) != '1') {
$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
}
$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期

$endday = strtotime($year_end);
if (intval(date('W', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}

$num = intval(date('W', $endday));
for ($i = 1; $i <= $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));

$end_day = date("Y-m-d", strtotime("$start_date +6 day"));

$week_array[$i] = array (
str_replace("-",
".",
$start_date
), str_replace("-", ".", $end_day));
}
return $week_array;
}

函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

复制代码 代码如下:

$weeks = get_week(2011);
echo '第18周开始日期:'.$weeks[18][0].'';
echo '第18周结束日期:'.$weeks[18][1];

最后输出结果:

第18周开始日期:2011.05.02
第18周结束日期:2011.05.08

PHP计算一年多少个星期和每周的开始和结束日期我爱编程网

php strptime定义和用法

PHP中的strptime()函数是一个关键工具,用于解析由strftime()生成的日期/时间格式。它的主要任务是将一个字符串按照特定的格式进行解析,以便于后续的处理和存储。


strptime()函数的基本语法如下:



array strptime(date, format)

其中,参数date是需要解析的字符串,通常来源于strftime()函数的结果。format参数则是定义了date的结构,它必须与strftime()中使用的格式完全一致。


值得注意的是,strptime()的处理结果会受到系统当前区域设置(通过setlocale()函数设定的LC_TIME)的影响。例如,月份和星期几的名称会根据用户的语言环境进行翻译。如果解析过程中遇到与指定格式不符的部分,这部分内容将被存储在unparsed date单元中。


解析后的结果是一个数组,包含了详细的日期和时间信息,包括:



  • tm_sec:当前分钟内的秒数(0-61)

  • tm_min:当前小时内的分钟数(0-59)

  • tm_hour:从午夜开始的小时数(0-23)

  • tm_mday:月份中的第几天(1-31)

  • tm_mon:自一月以来经过的月份数(0-11)

  • tm_year:自1900年以来经过的年数

  • tm_wday:自星期天开始经过的天数(0-6)

  • tm_yday:本年自1月1日以来经过的天数(0-365)


如果解析过程中遇到任何错误,strptime()函数将返回 FALSE,此时需要进行错误检查和处理。

PHP计算一年多少个星期和每周的开始和结束日期

php 的日期函数的问题

我爱编程网(https://www.52biancheng.com)小编还为大家带来php 的日期函数的问题的相关内容。

date函数返回各种格式的日期值,date(格式,[日期]),第一个参数是格式,第二个参数是日期,第二个参数可以省略(当前日期),例如date('l')就得到当前星期的完整名称,参数是小写的字母L,结果是Sunday 到 Saturday。

date函数详细的格式字符如下:
格式字串可以识别以下 format 参数的字符串

format 字符
说明
返回值例子

日 --- ---
d 月份中的第几天,有前导零的 2 位数字 01 到 31
D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
j 月份中的第几天,没有前导零 1 到 31
l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀,2 个字符 st,nd,rd或者 th。可以和 j 一起用
w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第几天 0 到 366
星期 --- ---
W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 数字表示的月份,有前导零 01 到 12
M 三个字母缩写表示的月份 Jan 到 Dec
n 数字表示的月份,没有前导零 1 到 12
t 给定月份所应有的天数 28 到 31
年 --- ---
L 是否为闰年 如果是闰年为 1,否则为 0
o ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位数字完整表示的年份 例如:1999 或 2003
y 2 位数字表示的年份 例如:99 或 03
时间 --- ---
a 小写的上午和下午值 am 或 pm
A 大写的上午和下午值 AM 或 PM
B Swatch Internet 标准时 000 到 999
g 小时,12 小时格式,没有前导零 1 到 12
G 小时,24 小时格式,没有前导零 0 到 23
h 小时,12 小时格式,有前导零 01 到 12
H 小时,24 小时格式,有前导零 00 到 23
i 有前导零的分钟数 00 到 59>
s 秒数,有前导零 00 到 59>
时区 --- ---
e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否为夏令时 如果是夏令时为 1,否则为 0
O 与格林威治时间相差的小时数 例如:+0200
P 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) 例如:+02:00
T 本机所在的时区 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200
完整的日期/时间 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数

以上就是我爱编程网为大家带来的PHP计算一年多少个星期和每周的开始和结束日期,希望能帮助到大家!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“PHP计算一年多少个星期和每周的开始和结束日期”相关推荐
Java如何得到指定时间段中的所有周,及每周的每一天都是周几和日期是多少?
Java如何得到指定时间段中的所有周,及每周的每一天都是周几和日期是多少?

Java如何得到指定时间段中的所有周,及每周的每一天都是周几和日期是多少?importjava.text.DateFormatSymbols;importjava.util.Calendar;importjava.util.GregorianCalendar;publicclassTest{/***@paramargs*/publicstaticvoidmai

2024-04-12 02:36:21
php中,计算指定日期还有多少天
php中,计算指定日期还有多少天

php中,计算指定日期还有多少天思路是先求两个时间的秒数差,然后将结果转换即可:echo calcTime('2018-08-20', '2018-08-30');function calcTime($fromTime, $toTime){        //转时间戳    $fromTime = strtotime($fromTime);    $toTime = strtotime

2024-11-24 05:32:17
php日历模块的运算逻辑求解!如何求日期对应的星期几!
php日历模块的运算逻辑求解!如何求日期对应的星期几!

PHP生日提醒源码CREATETABLE`users`(`id`mediumint(8)unsignedNOTNULLauto_increment,`username`varchar(60)NOTNULLdefault'',`password`varchar(32)NOTNULLdefault'',`sex`tinyint(1)unsignedNOTNULLdefault'0

2024-08-13 07:29:57
PHP 日期加减计算方法示例 在php和MySql中计算时间差的方法
PHP 日期加减计算方法示例 在php和MySql中计算时间差的方法

php时间加减本文详细介绍了PHP中关于时间加减和日期处理的基本函数和方法,旨在帮助开发者更高效地进行日期时间的计算和格式化。首先,我们通过`strtotime`函数配合`date`函数实现了当前时间和明天时间的输出。具体操作如下:在第一行,通过`date('Y-m-d',strtotime('1d',strtotime('2009-07-08')))`函数,我们可以实现日期的天数相加

2024-12-09 20:09:08
PHP 日期加减计算方法示例(php 的日期函数的问题)
PHP 日期加减计算方法示例(php 的日期函数的问题)

PHP日期加减计算方法示例探讨PHP中日期加减计算的多种方法及其应用实例。首先,PHP提供了标准的日期格式函数date("Y-m-dH:i:s");,用于输出日期和时间。接着,简单的日期加减计算可以通过直接在日期字符串上进行加减操作实现。例如,将当前日期"2017-11-0618:58:04"加上一天,结果为"2017-11-0718:58:04"。对于更进阶的日期加减操作

2024-11-28 13:19:22
PHP中用日期函数显示当前年月日喝当前时间(PHP获取当前时间、年份、月份、日期和天数)
PHP中用日期函数显示当前年月日喝当前时间(PHP获取当前时间、年份、月份、日期和天数)

PHP中用日期函数显示当前年月日喝当前时间在PHP中,使用日期函数可以方便地显示当前年月日和时间。例如:echodate("Y-m-dH:i:s",time());可以输出当前的日期和时间,这里的time()函数返回的是自1970年1月1日00:00:00GMT以来的秒数。如果您想要显示的是格林尼治时间元年的日期和时间,可以使用echodate("Y-m-dH:i:s",0);,这里的0表示

2025-02-09 02:17:12
PHP获取当前时间、年份、月份、日期和天数 PHP中用日期函数显示当前年月日喝当前时间
PHP获取当前时间、年份、月份、日期和天数 PHP中用日期函数显示当前年月日喝当前时间

PHP获取当前时间、年份、月份、日期和天数获取当前时间、年份、月份、日期和天数是PHP编程中常用的实践。PHP提供了多种函数来处理时间日期的获取与格式化。下面将详细介绍PHP中获取和格式化时间日期的常用方法。获取当前时间主要依赖于PHP的`Date()`函数,该函数能够将时间戳转换为易读的日期与时间格式。函数语法如下:`Date(format,timestamp)`其中,`

2024-12-23 02:59:36
php计算日期函数 php 时间加减
php计算日期函数 php 时间加减

php时间加减本文详细介绍了PHP中关于时间加减和日期处理的基本函数和方法,旨在帮助开发者更高效地进行日期时间的计算和格式化。首先,我们通过`strtotime`函数配合`date`函数实现了当前时间和明天时间的输出。具体操作如下:在第一行,通过`date('Y-m-d',strtotime('1d',strtotime('2009-07-08')))`函数,我们可以实现日期的天数相加

2024-11-17 13:43:31