首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查找当日编号。在php中的月份

如何查找当日编号。在php中的月份
EN

Stack Overflow用户
提问于 2014-01-27 17:58:11
回答 3查看 22.3K关注 0票数 7

今天的日期是2014年1月27日,所以我使用以下函数获得了日期名称:

代码语言:javascript
运行
复制
$t=date('d-m-Y');
$day = strtolower(date("D",strtotime($t)));

因此,现在日期名称是mon

如何找出这个星期一是当月的第四个星期一?换句话说,我试图找到某一天的第一天、第二天、第三天、第四天。星期一)一个月?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-27 18:36:37

数学部分的功劳归Jon (上图)

结合您的代码,可以按如下方式实现完整的解决方案

代码语言:javascript
运行
复制
$t=date('d-m-Y');
$dayName = strtolower(date("D",strtotime($t)));
$dayNum = strtolower(date("d",strtotime($t)));
echo floor(($dayNum - 1) / 7) + 1

或者作为具有可选日期的函数

PHP小提琴here

这只会返回您所请求的数字。

代码语言:javascript
运行
复制
function dayNumber($date=''){
    if($date==''){
        $t=date('d-m-Y');
    } else {
        $t=date('d-m-Y',strtotime($date));
    }

    $dayName = strtolower(date("D",strtotime($t)));
    $dayNum = strtolower(date("d",strtotime($t)));
    $return = floor(($dayNum - 1) / 7) + 1;
    return $return;
}


echo dayNumber('2014-01-27');
票数 8
EN

Stack Overflow用户

发布于 2014-01-27 18:36:07

代码语言:javascript
运行
复制
$date = mktime(0, 0, 0, 1, 27, 2014);
$dayNumber = date("d", $date);
$dayOfWeek = date("l", $date);
$dayPosition = (floor(($dayNumber - 1) / 7) + 1);

switch ($dayPosition) {
    case 1:
        $suffix = 'st';
        break;
    case 2:
        $suffix = 'nd';
        break;
    case 3:
        $suffix = 'rd';
        break;
    default:
        $suffix = 'th';
}

echo "Today is the " . $dayPosition . $suffix . " " . $dayOfWeek . " of the month.";
// Will echo: Today is the 4th Monday of the month.

感谢@Jon的数学。

票数 2
EN

Stack Overflow用户

发布于 2020-12-14 22:02:31

对现有答案进行了一些改进。

现在是星期几,简单地说:

代码语言:javascript
运行
复制
echo date("N", time());

给定日期的星期几:

代码语言:javascript
运行
复制
//$date in d-m-Y, modify for your needs
function dayNumber($date = null)     
{
    $date = $date ?? date('d-m-Y');
    $date = DateTime::createFromFormat('d-m-Y', $date);
    return $date->format("N");
}


echo dayNumber('24-12-2020');

我使用null合并运算符(PHP7.0及以上)和DateTime类和函数(PHP5.3.0及以上)。

我会避免使用strtotime(),因为潜在的时区问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21377798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档