Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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/0/laravel/11.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 一个月的第n天_Php_Laravel_Php Carbon - Fatal编程技术网

Php 一个月的第n天

Php 一个月的第n天,php,laravel,php-carbon,Php,Laravel,Php Carbon,2018年1月19日是本月的第三个星期五 我要数字3表示这是第三个星期五。碳能做到这一点吗 此外,我将使用它来检查另一个日期是在另一个月的第三个星期五之前还是之后。例如,2018年2月17日是在2月的第三个星期五之前还是之后?显然可以 编辑:忽略此项 我不认为碳可以直接做到你所要求的,但是使用内置的吸气剂进行一些计算,我相信你可以很容易做到这一点 从分析日期开始: $dt = Carbon::parse('2018-19-1 23:26:11.123789'); 然后使用weekOfMont

2018年1月19日是本月的第三个星期五

我要数字3表示这是第三个星期五。碳能做到这一点吗

此外,我将使用它来检查另一个日期是在另一个月的第三个星期五之前还是之后。例如,2018年2月17日是在2月的第三个星期五之前还是之后?

显然可以

编辑:忽略此项

我不认为碳可以直接做到你所要求的,但是使用内置的吸气剂进行一些计算,我相信你可以很容易做到这一点

从分析日期开始:

$dt = Carbon::parse('2018-19-1 23:26:11.123789');

然后使用
weekOfMonth
dayOfMonth
dayOfWeek
,等等。

Carbon是PHP类顶部的一个层,它非常强大,因为它支持许多概述的格式,特别是您正在寻找的

2月的第三个星期五
是一种有效的相对格式,因此,您可以执行以下操作:

Carbon::parse('February 17th') > Carbon::parse('third friday of february');
这将产生
,而:

Carbon::parse('February 15th') > Carbon::parse('third friday of february');
将产生
false

您需要注意,以这种方式构造时,格式非常重要,例如,二月的第三个星期五
无效


我不相信DateTime类中有任何功能允许第一部分使用单一的DateTime格式,但是,您可以使用如下内容:

Carbon::parse('February 17th') > Carbon::parse('third friday of february');
  • 确定所提供日期的日期
  • 找到当月的第一天
  • 比较您的日期和第一天之间的(天数/7)
  • e、 g:


    哇,我没有意识到那些相对格式的存在。很高兴知道。这是问题后半部分的一个很好的答案。我不知道如何从2018年1月19日起获取字符串“第三个星期五”。@MichaelArrison对此表示抱歉,我已更新了我的答案,以包含一个示例,说明如何利用这些知识完成问题的第一部分。如果有帮助,请告诉我!