PHP Faker生成指定范围内唯一日期

4

我正在尝试在Laravel Factory中生成一系列唯一的日期,例如:

2019-05-04
2019-05-05
2019-05-06
...
2019-07-04

我尝试了这个,每个日期都会出现0至n次。
$faker->unique()->dateTimeBetween('-7 days', '+2 months')->format('Y-m-d'),
1个回答

13
为什么不尝试这个月的随机日期时间,例如下面这样:
        'created_at' => $faker->dateTimeThisMonth(),

根据文件所述,你需要在一段时间内按照以下方式进行:
dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) // DateTime('2003-03-15 02:00:49', 'Africa/Lagos')

这是它的链接:
https://github.com/fzaninotto/Faker#fakerproviderdatetime

在你的情况下,它就是这样。
dateTimeInInterval($startDate = '-7 days', $interval = '+ 5 days', $timezone = null) 

这并没有回答问题。它生成了一个日期时间,因此使用“unique()”修饰符仍然可能会为单个日期产生高达86,400个重复值。 - hackel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接