月和年日期转换

Month and Year date conversion

我有一个信用卡到期日,月份和年份仅以字符串形式出现,比如 08/17,我如何更改此字符串的格式以便我可以将其传递给 Authorize.net

$creditCard->setExpirationDate( "2017-08");

我尝试使用 strtotime() 但它给了我当前年份

echo $date = date('Y-m', strtotime($ccInfo['exp_date']));

您应该使用 date_create_from_format 而不是 strtotime 来构建您的日期:

echo date_create_from_format('m/y', '08/17')->format('Y-m');

函数创建了一个\DateTime对象,所以你可以调用format来获取你想要的格式。

你也可以这样写

$eventDate = DateTime::createFromFormat('m/y', '08/17');
echo date_format($eventDate, 'Y-m');