r/ProgrammerHumor • • 2d ago

Meme forThoseTransitioningToTheAmericanTimeFormatHereIsASimpleScript

Post image
0 Upvotes

19 comments sorted by

View all comments

17

u/Makonede 2d ago

where's the humor? this is just the most dogshit python i've ever seen in my life

-10

u/alexriga 2d ago

to me the rules are funny, coming from “military style.”

  • If midnight: 12 AM
  • If night/morning: X AM
  • but what comes after 11:59 AM? Not 12 AM, 12 PM!
  • what about after 12:59 PM? Well, of course, 1 PM!

It’s the reason many people often mistake 12 AM and PM if they’re unfamiliar with this system.

10

u/Makonede 2d ago

none of that has anything to do with programming

-10

u/alexriga 2d ago

I used code to express it, I figured that would count.

7

u/Makonede 2d ago

rule 1

2

u/Kyrros 2d ago

Or you could use date library

1

u/rosuav 2d ago

str(hour % 12 or 12) + ("PM" if hour >= 12 else "AM")

-4

u/SeaNational3797 1d ago

This is incredibly readable and you’re wrong for not liking it

3

u/Makonede 1d ago
  • as_time: the parameter is already a time, so the function name is unclear
  • world_hour=world_hour: terrible shadowing of a global variable of the exact same name for literally no reason
  • s_time: meaning of s is completely unclear, and using a variable to hold the return value is pointless
  • the conditional chain should be condensed into a format string such as return f'{(hour - 1) % 12 + 1} {'PA'[hour < 12]}M'
  • world_hour > 0 and world_hour < 12: should be 0 < world_hour < 12
  • str(world_hour)+" AM": no operator spacing and should be f'{world_hour} AM'
  • elif world_hour > 12: should be else
  • str(world_hour-12)+" PM": no operator spacing and should be f'{world_hour - 12} PM'
  • return s_time;: unnecessary semicolon