【发布时间】:2020-02-10 18:19:38
【问题描述】:
我正在尝试在 Laravel 中播种数据库表。有一个 time 列,我需要对该表中的每条记录具有唯一性或至少不相同。
目前,我正在使用这个;这确实给出了我正在寻找的结果,但它并不完整。
mt_rand(0,23).":".str_pad(mt_rand(0,59), 2, "0", STR_PAD_LEFT)
我的问题是个位数时间前面没有 0,并且缺少 sec。通常,我计划的是下面的代码,但它一遍又一遍地让我得到相同的结果:
date('H:i:s', strtotime( ((srand(0,1) ? '-'.mt_rand(1,24) : '+'.mt_rand(1,24).' '.rand(0,1) ? 'minute' : 'hour')), strtotime(date('H:i:s')))),
结果总是"05:30:00",所以我不知道下一步该做什么。
【问题讨论】:
-
对于寻找通用答案的人来说,这是我为 php 提出的解决方案。 // 得到 + / - 数 $xno = mt_rand(1,2) == 1 ? '-'.mt_rand(1,24) : '+'.mt_rand(1,24); // 获取分钟或 $xtime = mt_rand(1,2) == 1 ? $xno。分钟':$ xno。'小时'; $final = date('H:i:s', strtotime($xtime, strtotime(date('H:i:s'))));