如何将数组类型日期输入格式更改为我的需要日期格式?

时间:2015-07-04 07:10:40

标签: php date

<form action='' method='post'>
    Trip date: <input type="date" name="trip_date[]" class="input-xlarge  datepicker" value="<?php echo date("m/d/Y");?>">
    Trip Date: <input type="date" name="trip_date[]" class="input-xlarge  datepicker" value="<?php echo date("m/d/Y");?>">
</form>

$form_data  = array(    
    'company_id'              => $_POST["company_id"],      
    'date'                    => $_POST["trip_date"]
);

我通过第三方日期选择器功能从我提交的时间获得此格式m / d / y的日期。 我的问题是当我尝试通过写这样的方式转换日期格式时:

  date('Y/m/d',strtotime($_POST["trip_date"]));

我得到了以下

Warning: strtotime() expects parameter 1 to be string, array given in

如何将数组类型日期输入格式更改为我的需要日期格式?

4 个答案:

答案 0 :(得分:0)

对于PHP 5.3及更高版本,您可以使用此

$convert_me = $_POST["trip_date"]
$convert_me = DateTime::createFromFormat('m/d/y', $convert_me);
$formatted_date = $myDateTime->format('Y/m/d'');

如果您使用的是strtotime(),请确保该参数是一个字符串。

我认为您需要的是http_build_query()

答案 1 :(得分:0)

对数据进行排序使用此

$original_Date = $_POST["trip_date"];
$new_Date = date("Y-m-d", strtotime($original_Date));

阅读此Answer as well

编辑01

$original_Date = $form_data[0]['date];
$new_Date = date("Y-m-d", strtotime($original_Date));

答案 2 :(得分:0)

def findLetters(wordlist):
    return [word for word in wordlist if all(letter in 'abcdef' for letter in word)]

结果

// $_POST["company_id"] => Array ( [0] => 07/04/2015 [1] => 07/04/2015 ) 

$form_data['company_id'] = $_POST["company_id"];
$form_data['date'] = array_map ('strtotime', $_POST["trip_date"]);

print_r($form_data);

修改

Array
(
    [company_id] => 
    [date] => Array
        (
            [0] => 1435968000
            [1] => 1435968000
        )

)

的print_r($ form_data);

结果

// $_POST["company_id"] => Array ( [0] => 07/04/2015 [1] => 07/04/2015 ) 

$form_data['company_id'] = $_POST["company_id"];
$form_data['date'] = array_map ( 
      function ($item) { return date('Y/m/d',strtotime($item)); },
      $_POST["trip_date"]);

答案 3 :(得分:-1)

首先测试你的帖子价值。认为你的帖子不能得到任何价值

尝试找到你的帖子值。我认为你的帖子方法获得空值

echo '<pre>;
print_r($_POST);
echo '</pre>';