【问题标题】:How to get the day of the week from a Unix timestamp (PHP)?如何从 Unix 时间戳(PHP)中获取星期几?
【发布时间】:2011-01-29 08:28:33
【问题描述】:

如何从 PHP 中的 Unix 时间戳获取日期 (1-7)?我还需要日期 (1-31) 和月份 (1-12)。

【问题讨论】:

    标签: php unix-timestamp weekday


    【解决方案1】:

    你可以使用date()函数

    $weekday = date('N', $timestamp); // 1-7
    $month = date('m', $timestamp); // 1-12
    $day = date('d', $timestamp); // 1-31
    

    【讨论】:

    • 这无疑是有效的。但是 date() 必须计算实际日期三次,每次只选择一个元素。如果您无论如何都需要所有三个值,那是不是有点不太理想?
    • 你总是可以同时使用 date('N.m.d etc.') 来达到你的目的,我只是分别给出了例子来回答这个问题。
    • 格式“m”和“d”返回带前导零的单个数字。看起来 OP 请求的数字没有前导零(@Dyllon 的答案中的“j”和“n”)。
    【解决方案2】:

    http://docs.php.net/getdate

    例如

    $ts = time(); // could be any timestamp
    $d=getdate($ts);
    
    echo 'day of the week: ', $d['wday'], "\n";
    echo 'day of the month: ', $d['mday'], "\n";
    echo 'month: ', $d['mon'], "\n";
    

    【讨论】:

    • 0(星期日)到 6(星期六)
    • 感谢@PedroLobito 的精确度。正是我需要的。
    【解决方案3】:

    这是您所追求的 date() 函数。

    您可以从 PHP 手册中获得更多详细信息,但简而言之,这里有您需要的功能。

    date('N', $timestamp);
    //numeric representation of the day of the week
    
    date('j', $timestamp);
    //Day of the month without leading zeros
    
    date('n', $timestamp);
    //Numeric representation of a month, without leading zeros
    

    【讨论】:

      【解决方案4】:

      如前所述使用date 函数,将$timestamp 作为第二个参数:

      $weekday = date('N', $timestamp); // 1 = Monday to 7 = Sunday
      $month = date('m', $timestamp); // 1-12 = Jan-Dec
      $day = date('d', $timestamp); // 1-31, day of the month
      

      并非所有 PHP 版本都可以很好地使用负时间戳。我的经验是,使用新的 DateTime 对象,可以追溯到 UNIX 时代之前的时间戳。

      【讨论】:

        【解决方案5】:
        print "Week".date('N')."\n";
        print "day of month " .date('d')."\n";
        print "month ".date('m')."\n";
        

        【讨论】:

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