Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取当月的周天数';今天是PHP的第一天_Php_Date - Fatal编程技术网

如何获取当月的周天数';今天是PHP的第一天

如何获取当月的周天数';今天是PHP的第一天,php,date,Php,Date,我想得到当月的周天数。比如说 今天 Sep. 1st, Monday 应返回1 Oct. 1st, Wednesday 应返回3 21.11.2014 应返回6 $weekdayNumber = date('N', strtotime($datestring)); 这将返回1: date('N', strtotime('Sep. 1st, Monday')); 这将返回3: date('N', strtotime('Oct. 1st, Wednesday')); 如注释中所述,日期

我想得到当月的周天数。比如说

今天

Sep. 1st, Monday 
应返回
1

Oct. 1st, Wednesday
应返回
3

21.11.2014
应返回
6

$weekdayNumber = date('N', strtotime($datestring));
这将返回1:

date('N', strtotime('Sep. 1st, Monday'));
这将返回3:

date('N', strtotime('Oct. 1st, Wednesday'));

如注释
中所述,日期('N',…)
可用于实现此目的:

<?php
date_default_timezone_set('UTC');

echo date('N', strtotime('First day of month')) . PHP_EOL;
echo date('N', strtotime('Sep. 1st, Monday')) . PHP_EOL;
echo date('N', strtotime('Oct. 1st, Wednesday')) . PHP_EOL;
试试这个:

var_dump(date('N', mktime(0, 0, 0, date('n'), 1)));

您的问题不清楚您的输入是否是字符串,或者函数是否应假定当前月份/年份为现在。

我想您实际上不知道工作日(“周一”、“周三”),因此以下所有操作也可以使用:

echo date('N', strtotime('Sep. 1st')); // this assumes "this year"
echo date('N', strtotime('Sep. 1st 2014'));
echo date('N', strtotime('2014-09-01')); 

echo date('N', strtotime('Oct. 1st')); // this assumes "this year"
echo date('N', strtotime('Oct. 1st 2014'));
echo date('N', strtotime('2014-10-01'));

另请参见

date('N',strotime('First day of'.date('F')。'date('Y')))
Duplicate of@Chad it's not Duplicate。您建议的问题是从一天算起的周数,而这个问题是从一天算起的一个月算起的周数。@monsur.hoq true,问题中存在歧义/区别,尽管另一个答案的解决方案适用于这两个问题。抢手货值得投票表决。