【问题标题】:How can I get the day of a specific date with PHP如何使用 PHP 获取特定日期的日期
【发布时间】:2023-03-27 15:20:01
【问题描述】:

我想获得 10 月 22 日这一天(星期日、星期一、...)。我该怎么做?

【问题讨论】:

标签: php date


【解决方案1】:

您可以使用date 函数。我正在使用strtotime 来获取那天的时间戳;还有其他解决方案,例如mktime

例如,使用 'D' 修饰符,用于三个字母的文本表示:

$timestamp = strtotime('2009-10-22');

$day = date('D', $timestamp);
var_dump($day);

你会得到:

string 'Thu' (length=3)

加上 'l' 修饰符,用于完整的文本表示:

$day = date('l', $timestamp);
var_dump($day);

你得到:

string 'Thursday' (length=8)

或“w”修饰符,获取当天的数字(0 到 6,0 代表星期日,6 代表星期六)

$day = date('w', $timestamp);
var_dump($day);

您将获得:

string '4' (length=1)

【讨论】:

  • 嘿帕斯卡,感谢您在 6 年前发布此消息。它仍然帮助了我,因为我是 PHP 新手。祝你有美好的一天!
【解决方案2】:
$date = '2014-02-25';
date('D', strtotime($date));

【讨论】:

  • 为什么不 date('I', strtotime($date));因为 OP 要求 Sunday, Monday ... 全文
【解决方案3】:
$datetime = DateTime::createFromFormat('Ymd', '20151102');

echo $datetime->format('D');

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
【解决方案4】:
$date = strtotime('2016-2-3');
$date = date('l', $date);
var_dump($date)

(我添加了格式“l”,因此它将返回日期的全名)

【讨论】:

  • 当日期格式不同时,这将无济于事。 d/m/Y => 2021 年 10 月 5 日。如果我们像这样使用日期,那么它会给你错误的输出。
【解决方案5】:
$date = '2009-10-22';
$sepparator = '-';
$parts = explode($sepparator, $date);
$dayForDate = date("l", mktime(0, 0, 0, $parts[1], $parts[2], $parts[0]));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多