【问题标题】:Adding year and leading zeroes in id在 id 中添加年份和前导零
【发布时间】:2019-01-11 00:45:54
【问题描述】:

我有一个名为 ID 的列,我希望它在使用格式创建记录时指示该记录的年份。

场景

I created new data on this day( 1-11-2019) and with the format.

2019-01-110000-1

当达到 9 时,它将变为 0000-00010

例子:

20190101-0000-0001
...
20190101-0000-0010

查看

<?= $purchase_order->date . sprintf("%06s",-$counter) ?>

问题:如何在 0000-1 中添加前导零(应该是这样的 0000-0001,当它达到 9 时,它将变为 0000-0010

【问题讨论】:

  • 我将创建一个函数来计算数字中的字符数量,并在其前面添加必要的数字,将其作为字符串处理。然后将整个添加到您的日期。

标签: php php-7.1


【解决方案1】:

数学。

function weirdNumberFormatter(int $input) {
    $high = intdiv($input, 10000);
    $low  = $input % 10000;

    return sprintf('%04d-%04d', $high, $low);
}

var_dump(
    weirdNumberFormatter(1),
    weirdNumberFormatter(1234),
    weirdNumberFormatter(12345),
    weirdNumberFormatter(1234567),
    weirdNumberFormatter(12345678)
);

输出:

string(9) "0000-0001"
string(9) "0000-1234"
string(9) "0001-2345"
string(9) "0123-4567"
string(9) "1234-5678"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-30
    • 2017-08-12
    • 2021-11-26
    相关资源
    最近更新 更多