1

我在 PHP 中使用日期函数分别获取日期、月份和年份。我在这个函数中传递了两个日期,一个是从日期,另一个是今天。在 todate 的情况下,函数返回适当的值,但在 fromdate 的情况下,函数分别为月、日、年返回 0、1、2。

这是我在 PHP 中使用的代码:

// here i am passing values for fromdate and todate fetched from POST, these values are proper

$from = $_POST['event_fromdate'];
$to=$_POST['event_todate'];

// here i am fetching month,day & year separately from fromdate , these values are not proper 

$time['month'] = date('m',strtotime($from));
$time['day'] = date('d',strtotime($from));
$time['year'] = date('Y',strtotime($from));

// here i am fetching month,day & year separately from todate , these values are proper

$time1['month'] = date('m',strtotime($to));
$time1['day'] = date('d',strtotime($to));
$time1['year'] = date('Y',strtotime($to)); 

在逐一打印这些值时,输出为:

Actual From date: 13-APR-2013
Actual To date  : 14-APR-2013

'From date' fetched from date function:
  month = 0
  day = 1
  year = 2


'To date' fetched from date function:
  month = 04
  day = 14
  year = 2013

在这里,我已经尝试了各种方式,但不明白为什么在 FROM DATE 的情况下我会得到不适当的结果。

4

1 回答 1

0

如果你只是把它放在一个 DateTime 对象中,你可以从那里提取所有的值,为你节省很多重复的代码。

$dt_to     = new DateTime($to);
$some_info = array(
  'day'   => $dt_to->format('d'),
  'month' => $dt_to->format('m'),
  'year'  => $dt_to->format('Y')
);

但是,将 DateTime 对象传递到您实际需要天/月/年的端点将是一个更简洁的解决方案。

于 2013-04-10T08:27:47.747 回答