将4位整数转换为日期的最有效方法

时间:2019-07-04 11:00:17

标签: php

我正在从sagepay api中以以下格式(例如0822)从对象中返回对象的卡到期日期。那就是2022年8月。现在我想将其保存为2022/08/01(始终将其作为数据库的第一个)月)。但是,如果每当我尝试各种方法php都必须将整数格式化为日期时,我永远都无法获得预期的结果。

有效期对象是这个:

$card_expiry_date = $card_token->paymentMethod->card->expiryDate;

让我们说它返回值0822

我需要将其自动转换为2022/08/01并将其存储在我的数据库中。

我通过执行以下操作将到期日附加到01:

$card_expiry_date = "01" . $card_token->paymentMethod->card->expiryDate;

这将返回010822。

然后我尝试使用strtotime和date格式将其设置为所需的日期:

$date = strtotime($card_expiry_date);
echo date_format($date,"y/m/d");

有效期对象是这个:

$card_expiry_date = $card_token->paymentMethod->card->expiryDate;

让我们说它返回值0822

我需要将其自动转换为2022/08/01并将其存储在我的数据库中。

我收到以下错误:

警告:date_format()期望参数1为DateTimeInterface,在第11行的C:\ xampp \ htdocs \ store \ sagepay \ views \ home \ capture.php中给出的整数

所以我必须使用错误的函数或以错误的方式进行操作,我查看了很多关于栈和php手册的文章,但不幸的是,日期和时间函数一直让我感到困惑!我知道这个问题可能已经被问了无数次了,并且冒着降低投票风险的风险,但是我希望有人可以指出正确的方向,或者向我展示将mmyy整数存储到yymmdd日期到数据库中的最佳方法(2022/08 / 01)。

正如我说的,我知道有人问过这个问题,但我确实没有得到答复,所以我将不胜感激。

0 个答案:

没有答案