php 解决date('Y-m',strtotime('-1 month'))得到上个月是错的

/**
 * 解决2017-01-31 (-1 month)还显示1月的问题
 */
$data = "2017-1-31";
$base = strtotime(date('Y-m',strtotime($data)) . '-01 00:00:01');
echo date('Y-m',strtotime('-1 month', $base));

获取前6个月的月份

/**
 * 获取前6个月时间
 * @return array
 */
public static function getTimeAndCenters()
{
    //获取前6个月时间
    $beforeTime = [];
    for ($i = 0; $i < 6; $i++) {
        if($i == 0) {
            $beforeTime[$i] = date('Y-m');
        } else {
            $base = strtotime(date('Y-m') . '-01 00:00:01');
            $t = "-". $i ." month";
            $beforeTime[$i] = date('Y-m', strtotime($t, $base));
        }
    }
    return $beforeTime;
}

 

你可能感兴趣的:(php)