• Artwork@lemmy.world
    link
    fedilink
    English
    arrow-up
    25
    arrow-down
    13
    ·
    edit-2
    15 hours ago

    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-30
    

    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.

    console.log(new Date(Date.now() - 365*24*60*60*1000 * (18 + Math.random()*72)).toISOString().slice(0, 10));
    // 1984-07-20
    

    In shell even! Let’s use the common suit GNU coreutils (e.g. v9.4).
    We have 90y - 18y = 72 years, that is 26,280 days or ~26,297 days (source)

    $ date -d "-18 years -$(( RANDOM % 26297 )) days" -- '+%F';
    # 1976-04-06
    
    • yaroto98@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      8 hours ago

      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.

      • Artwork@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        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

      • jimmy90@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 hours ago

        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

    • jesta@lemmy.world
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      1
      ·
      15 hours ago

      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.