PHP-如何使用$timestamp检查今天是星期一还是一月一日?

PHP-如何使用$timestamp检查今天是星期一还是一月一日?,php,timestamp,Php,Timestamp,我一直在网上浏览这些例子,我发现它们有点神秘或过分 我需要做的是这样的事情: $timestamp = time(); 然后看看这一天是星期一还是一个月的第一天 我确信这是可能的,我只是不确定如何做到这一点。您可以使用: 实际上,您不需要timestamp变量,因为: 从php.net的函数中执行: 使用返回根据给定格式字符串格式化的字符串 给定的整数时间戳或当前时间(如果没有时间戳) 鉴于换句话说,timestamp是可选的,默认为值 关于时间() 这会抓住。。周一从mysql $monda

我一直在网上浏览这些例子,我发现它们有点神秘或过分

我需要做的是这样的事情:

$timestamp = time();
然后看看这一天是星期一还是一个月的第一天

我确信这是可能的,我只是不确定如何做到这一点。

您可以使用:


实际上,您不需要timestamp变量,因为:

从php.net的函数中执行:

使用返回根据给定格式字符串格式化的字符串 给定的整数时间戳或当前时间(如果没有时间戳) 鉴于换句话说,timestamp是可选的,默认为值 关于时间()


这会抓住。。周一从mysql

$monday = 1; //tuesday= 2.. sunday = 7

    AND $monday = (date_format(from_unixtime(your_date_column),'%w')) 
或者几天

$day = 1; ///1st in month

    AND $day = (date_format(from_unixtime(your_date_column),'%d')) 
只是想知道

$date  = date("d"); //1st?
$dayinweek = date("w"); //monday? //as a number in a week what you need more then just "Monday" I guess..
这应该解决这个问题:

$day = date('D');
$date = date('d')
if($day == Mon){
    //Code for monday
}
if($date == 01){
    //code for 1st fo the month
}
else{
    //not the first, no money for you =/
}

因为$date可以是周一或周日。应该检查它

public function getWeek($date){
    $date_stamp = strtotime(date('Y-m-d', strtotime($date)));

     //check date is sunday or monday
    $stamp = date('l', $date_stamp);      

    if($stamp == 'Mon'){
        $week_start = $date;
    }else{
        $week_start = date('Y-m-d', strtotime('Last Monday', $date_stamp));
    }


    if($stamp == 'Sunday'){
        $week_end = $date;
    }else{
        $week_end = date('Y-m-d', strtotime('Next Sunday', $date_stamp));
    }        
    return array($week_start, $week_end);
}

由于PHP>=5.1可以使用
date('N')
,它返回一周中某一天的ISO-8601数字表示,其中1是星期一,7是星期日

所以你可以

if(date('N', $timestamp) === '1' || date('j', $timestamp) === '1')) {
    echo "Today it is Monday OR the first of the month";
}

您需要根据星期一或第一天查询数据,或者只是为了找出是第一天还是星期一?;)@我只想知道今天是星期一吗?另外,我想知道今天是不是本月的第一天。基本上,每周和每月都需要发送提醒,这就是我需要这些提醒的原因。对不起,有点困惑,我如何才能将“本月第一天”输入到该函数中?按字面意思写
“本月第一天”
。Strotime接受这些。谷歌it:)
如果(日期('w',$timestamp)=='1')更好,为什么更好?解释一下。”D'格式字符更容易让人阅读。我认为在某些语言环境中,
date('D')
的结果可以是星期一,但不能读为
'Mon'
。此外,您的代码并不真正关心它是否是人类可读的,它希望在周一与否时做出正确的反应。
public function getWeek($date){
    $date_stamp = strtotime(date('Y-m-d', strtotime($date)));

     //check date is sunday or monday
    $stamp = date('l', $date_stamp);      

    if($stamp == 'Mon'){
        $week_start = $date;
    }else{
        $week_start = date('Y-m-d', strtotime('Last Monday', $date_stamp));
    }


    if($stamp == 'Sunday'){
        $week_end = $date;
    }else{
        $week_end = date('Y-m-d', strtotime('Next Sunday', $date_stamp));
    }        
    return array($week_start, $week_end);
}
if(date('N', $timestamp) === '1' || date('j', $timestamp) === '1')) {
    echo "Today it is Monday OR the first of the month";
}