Laravel项目信用卡有效期+6个月计算错误的修复咨询
修复Laravel信用卡有效期日期计算问题
原代码的问题在于分别使用了两个独立的时间实例:年份取的是当前时间的年份,月份取的是当前时间加6个月后的月份,当加6个月后跨年度时,年份不会自动更新,导致年份和月份不匹配。
修复方法是先统一生成加6个月后的时间对象,再从该对象中提取年份和月份:
$expiryDate = now()->addMonths(6); "year" => $expiryDate->format("Y"), "month" => $expiryDate->format("m"),
或者用更简洁的链式调用写法:
"year" => now()->addMonths(6)->format("Y"), "month" => now()->addMonths(6)->format("m"),
更推荐第一种写法,因为只需要创建一次时间对象,性能更优。这样处理后,当当前时间是2022年8月时,加6个月后得到2023年2月,年份和月份就能正确匹配为2023和02。
内容的提问来源于stack exchange,提问作者Eli Musk
相关产品推荐
相关产品推荐

