A whole library, or a yet another ad for Python, sorry? Why not marvelous Perl, or any lovely PHP’s or a JavaScript faker?
Why a library in the first place?
And, I had a snippet for JavaScript (tested in the current Chrome’s EcmaScript).
We get the years in milliseconds, and substract from the current time.
Mostly because it’s starting with dob, what happens when they require a phone number, address, credit card, or social security number? Faker can fake all those in that library. But you’re absolutely right, for one dob it is massive overkill.
Also, I’m do test automation for my career. Litterally use faker daily for generating test data. Defaulting to it is natural and familiar. Most use what they’re familiar with, rarely the best solution for a task.
Roger that! Thank you for being a developer and improving the ineffably magnificent world! ✨
In this case, we do relatively the same, and usually in database seeding and model factories, I believe, but personally I am more into the Laravel and Symfony, where the mentioned above PHP library is used there under the hood.
A whole library, or a yet another ad for Python, sorry?
This is more of a problem with how some people code more than python. I also find it irritating that some people import random libraries out of the internet to do simple things instead of actually spending the time to write two lines of code. Python has built in datetime library that could be used for this similar to the examples you gave.
there’s a pretty simple solution IMHO. The faker python library is awesome at generating test data. Return a random dob everytime a site requests it.
import faker faker fake return fake.date_of_birth(minimum_age=18, maximum_age=90)A whole library, or a yet another ad for Python, sorry? Why not marvelous Perl, or any lovely PHP’s or a JavaScript faker?
Why a library in the first place?
In case of PHP (checked in v8.1)
echo date('Y-m-d', rand(strtotime('-90 years'), strtotime('-18 years'))); // 2007-07-30And, I had a snippet for JavaScript (tested in the current Chrome’s EcmaScript).
We get the years in milliseconds, and substract from the current time.
console.log(new Date(Date.now() - 365*24*60*60*1000 * (18 + Math.random()*72)).toISOString().slice(0, 10)); // 1984-07-20In shell even! Let’s use the common suit GNU coreutils (e.g. v9.4).
We have
90y - 18y = 72 years, that is26,280 daysor~26,297 days(source)$ date -d "-18 years -$(( RANDOM % 26297 )) days" -- '+%F'; # 1976-04-06Mostly because it’s starting with dob, what happens when they require a phone number, address, credit card, or social security number? Faker can fake all those in that library. But you’re absolutely right, for one dob it is massive overkill.
Also, I’m do test automation for my career. Litterally use faker daily for generating test data. Defaulting to it is natural and familiar. Most use what they’re familiar with, rarely the best solution for a task.
Roger that! Thank you for being a developer and improving the ineffably magnificent world! ✨
In this case, we do relatively the same, and usually in database seeding and model factories, I believe, but personally I am more into the Laravel and Symfony, where the mentioned above PHP library is used there under the hood.
Please to stay safe!
Related: https://laravel.com/docs/13.x/eloquent-factories
Wtf is going on in this thread
ikr
a couple of distro admins remind lawmakers that people can do what they want with their computers and it’s python day on lemmy
This is more of a problem with how some people code more than python. I also find it irritating that some people import random libraries out of the internet to do simple things instead of actually spending the time to write two lines of code. Python has built in datetime library that could be used for this similar to the examples you gave.