【问题标题】:PHP date: How can I check if current year has no more the bygone months?PHP日期:如何检查当年是否没有过去的月份?
【发布时间】:2013-11-06 13:32:26
【问题描述】:

如何检查当前年份(例如 2013 年)是否不再有过去的月份(例如一月、二月...十月),然后做点什么?

我有这几行代码,

# Set month array for the calendar.
$months_calender = array();

# Set current month and curren year.
$current_month = (int)date('m');
$current_year = (int)date('Y');

for($x = $current_month; $x < $current_month+12; $x++) $months_calender[] = date('M', mktime(0, 0, 0, $x, 1));

获取下面的月份列表,

Array (
    [0] => Nov
    [1] => Dec
    [2] => Jan
    [3] => Feb
    [4] => Mar
    [5] => Apr
    [6] => May
    [7] => Jun
    [8] => Jul
    [9] => Aug
    [10] => Sep
    [11] => Oct )

那我想打印月份所属的年份,

foreach($months_calender as $index => $month_calender)
{
    if current year has no more Jan then print next year, for instance 2014
}

有什么想法吗?

【问题讨论】:

  • date('n'); 应该得到当前月份...您可能想查看date,还是我完全误解了???
  • 未来 12 个月只需将当前时间加 1 个月即可。因此,当您打印出年份时,它将反映年份的变化。

标签: php date php-5.4 mktime


【解决方案1】:
# Set month array for the calendar.
$months_calender = array();
$current_month = (int)date('m');

for($x = $current_month; $x < $current_month+12; $x++) {
    $time = mktime(0, 0, 0, $x, 1);
    $months_calender[] = array(date('M', $time), date('Y', $time));
}

foreach($months_calender as $monthYear) {
   list($month, $year) = $monthYear;
   echo "$month, $year\n";
}

【讨论】:

    【解决方案2】:

    你可以在 for 语句中得到 year

    for($x = $current_month; $x < $current_month+12; $x++) {
        $months_calender[] = date('M', mktime(0, 0, 0, $x, 1));
        $years[] = date('Y', mktime(0, 0, 0, $x, 1));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      • 2017-01-24
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多