如何使用PHP创建当前日期的10位数随机数

时间:2018-04-30 13:39:00

标签: php

我需要使用PHP创建具有当前日期和一些输入值的10位数随机数。我在下面解释我的代码。

$current_date=date('Y-m-d');//2018-04-30
$user_input=1;

以上数据是用户输入,我的预期输出应如下所示。

$output=1804300001

随机数生成格式应与此yymmdd 4 digit number including user input类似。假设user_input = 1那么它应该是0001user_input=12那么它应该是0012

4 个答案:

答案 0 :(得分:1)

像这样的东西

$date = new DateTime();
$input = 1;
$output = date_format($date,"ymd").sprintf('%04u', $input);

答案 1 :(得分:1)

<textField>
    <reportElement  x="520" y="1" width="40" height="48" uuid="5df12c06-9c58-4b26-99c1-02b1d8e86456"/>
    <box>
        <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
        <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
        <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
        <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle"/>
    <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>

答案 2 :(得分:1)

这里有一些代码给你......有很多解决方案。

$user = 12;
$date = date("ymd", $time());
echo $datum .sprintf("%04u",$user);

祝你好运

答案 3 :(得分:0)

如果使用您的代码($current_date = date('Y-m-d'); $user_input = 1; $result = substr(str_replace('-', '', $current_date), 2); // Replace "-" with nothing plus remove first 2 digits $result .= str_pad($user_input, 4, '0', STR_PAD_LEFT); // Fill in with "0" to the left ):

{{1}}

可能不是最漂亮的代码,但它工作正常。