Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建以月日为标题的表。PHP_Php_Date - Fatal编程技术网

创建以月日为标题的表。PHP

创建以月日为标题的表。PHP,php,date,Php,Date,我想创建一个这样的表 Oct-01 | Oct-02 | Oct-03 | Oct-04 | etc etc 用现在的月份 我用这个来获得第一天 $first = date('01-m-Y',strtotime('this month')); 我怎样才能增加这个月的天数呢 使用每月的校准天数(校准公历,日期(j),2013) 但是如何增加第一天。 我尝试在strotime中使用“+1天”,但什么也没发生 有什么想法吗?PHP的DateTime类可以在这里使用。您不需要使用cal\u day

我想创建一个这样的表

 Oct-01 | Oct-02 | Oct-03 | Oct-04 | etc etc
用现在的月份

我用这个来获得第一天

$first = date('01-m-Y',strtotime('this month'));
我怎样才能增加这个月的天数呢

使用每月的校准天数(校准公历,日期(j),2013)

但是如何增加第一天。 我尝试在strotime中使用“+1天”,但什么也没发生


有什么想法吗?

PHP的
DateTime
类可以在这里使用。您不需要使用
cal\u days\u in\u month
函数来计算一个月的天数--
DateTime
自动处理它。而且它更干净,支持多种日期

<?php
$days = array();
$maxDay = cal_days_in_month(CAL_GREGORIAN, date('j'), date('Y'));
for($i = 1; $i<$maxDay; ++$i) {
    $days[] = sprintf(date('M')."-%1$02d", $i);
}
echo "<pre>";
var_dump($days);
以下是方法:

$date = new DateTime();
$date->modify('first day of this month');
$days = array();
for($i = 1; $i <= $date->format('t'); $i++){
    $days[] = $date->format('M-d');
    $date->modify('+1 day');
 }
$start=new DateTime(“本月的第一天”);
$end=新日期时间(“本月第一天+1个月”);
$period=new DatePeriod($start,new DateInterval('P1D'),$end);
foreach($期间为$天){
echo$day->格式('M-d')。“
”; }

我更喜欢使用DateTime对象:

$date=new DateTime();
$date->modify(‘本月第一天’);
$days=array();
对于($i=1;$i格式('t');$i++){
$days[]=$date->format('M-d');
$date->modify(“+1天”);
}

您还可以将整个日期对象添加到数组中,以便以后可以灵活地使用它。

我想我不理解这个问题,但如果您的意思是如何将1天添加到$first变量中,我想如果您希望0在一位数天之前,那么它是
格式('M-DD')吗
@Casey:它已经做到了。请看演示。而
D
用于不同的内容(它显示日期——周一、周二、周三等)。只需注意:这将输出类似于
Oct TueTue
Oct WedWed
的内容,这可能不是OP想要的。见.)的确如此。我一定没有正确阅读这个+1:这是一个没有日期周期的好例子。p、 您的链接不是关于格式化输出日期,而是关于支持的输入格式。请参见输出格式。
$date = new DateTime();
$date->modify('first day of this month');
$days = array();
for($i = 1; $i <= $date->format('t'); $i++){
    $days[] = $date->format('M-d');
    $date->modify('+1 day');
 }