[HN Gopher] 22-11-22 22:11:22
___________________________________________________________________
22-11-22 22:11:22
A palindrome date, time and datetime (:
Author : lun4r
Score : 70 points
Date : 2022-11-22 20:41 UTC (2 hours ago)
| orliesaurus wrote:
| happy 22-11-22 everyone, can't wait to wait for 23-11-23
| huhtenberg wrote:
| 23-11-32 then
| DrNosferatu wrote:
| Just realized that on 22-11-22, 22:11:22 I had exactly 212 HN
| karma points - surely the Universe is trying to say something...
| sillysaurusx wrote:
| Now the question is, would you like to be downvoted to maintain
| stasis, or try to get to 2112 karma before tomorrow? :)
| bproctor wrote:
| I still regret missing Michael Scott's 05-05-05 party. It only
| happens once every billion years.
| aidenn0 wrote:
| Surely every 100 years?
| chungy wrote:
| He was quoting Michael Scott.
| timeaway wrote:
| Unix time 1666666666 happened last month, on October 25th
| 02:57:46 UTC.
|
| A closer "round" number will be 1670000000, happening next month
| on December 2nd 16:53:20 UTC.
|
| But for 1700000000 we'll have to wait until next year, November
| 14th 22:13:20 2023 UTC.
| subarctic wrote:
| Coming up soon in UTC :)
| coding123 wrote:
| I wonder if there was a single person in 1922 that had the same
| thought.
| 31337Logic wrote:
| ...or last year, on Nov. 12th.
| quickthrower2 wrote:
| or 11-11-11 11:11:11
|
| or 01-01-01 10:10:10
|
| Interview question: write a program to list them all!
| yamtaddle wrote:
| > write a program to list them all!
|
| Me: Is it OK if it doesn't print until it's done?
|
| Interviewer: Uh, sure, why not?
|
| Me: while(1){}
|
| Me: Finished. This produces the exact desired output of the
| program you specified.
|
| Interviewer: GTFO.
| carl_dr wrote:
| Sounds like a great Code Golf contest.
|
| ruby -e 'require"date";a=DateTime.new(0,1,1,0,0,0);(0..4e9)
| .each{|d|b=(a+Rational(d,86400));c=b.strftime("%y%m%d%H%M%S
| ");puts b.strftime("%y-%m-%d %H:%M:%S")if c==c.reverse}'
|
| About the most inefficient anyone could make it, but I
| think it works!
| lcnPylGDnU4H9OF wrote:
| Looks like it would be defeated by the dreaded leap
| second.
| SAI_Peregrinus wrote:
| They're going away. Resolution 4 of the CGPM 2022[1].
| They didn't want to deal with having to add a negative
| leap second, and it looks likely they'd have to if they
| didn't end them.
|
| [1] https://www.bipm.org/documents/20126/64811223/Resolut
| ions-20...
| carl_dr wrote:
| I don't think so. It would be only year 2006 (which map
| to second 60) which could be a problem, and there wasn't
| a leap year in that year.
| AkshatJ27 wrote:
| Some saves: `Rational(d,86400)` -> `d/86400r`
|
| Get rid of the variable `a` since it is used in only one
| place.
|
| `DateTime.new(0,1,1,0,0,0)` -> `DateTime.new(0,1,1)`
|
| also in newer ruby versions you can use numbered
| parameters to replace d with _1 and remove `|d|`
|
| Pretty sure there might be some more which i do not see
| immediately :)
| carl_dr wrote:
| ruby -e 'require"date";(0..4e9).each{b=DateTime.new(0,1,1
| )+_1/86400r;c=b.strftime("%y%m%d%H%M%S");puts
| b.strftime("%y-%m-%d %H:%M:%S")if c==c.reverse}'
|
| 151 bytes (including the ruby -e, down from 174.) Thanks!
| AkshatJ27 wrote:
| `ruby -e 'require"date";0.upto(4e9){b=DateTime.new(0,1,1)
| +_1/86400r;c=b.strftime"%y%m%d%H%M%S";p
| b.strftime"%y-%m-%d %H:%M:%S"if c==c.reverse}'`
|
| 142? Sorry if I broke anything, on phone.
| carl_dr wrote:
| You need to use puts to avoid quotes being added around
| the output - so I'll give you 145! I'm on my phone too,
| I'm impressed I even got something working, you've done
| brilliantly.
|
| Edit: DateTime.new(0) seems to work. 141.
| AkshatJ27 wrote:
| ~~`b=DateTime.new(0,1,1)+_1/86400r;`->
| `b=_1/86400r+DateTime.new 0`~~ oops
| carl_dr wrote:
| That doesn't work unfortunately, you need the brackets -
| DateTime has to be on the left.
| AkshatJ27 wrote:
| ah, my bad.
|
| This should work for 134:
|
| `ruby -r date -e
| '0.upto(4e9){b=DateTime.new(0)+_1/86400r;puts
| b.strftime"%y-%m-%d
| %H:%M:%S"if(c=b.strftime"%y%m%d%H%M%S")==c.reverse}'`
| carl_dr wrote:
| ruby -rdate -e'b=DateTime.new
| 0;loop{b+=1/86400r;c=b.strftime"%y%m%d%H%M%S";puts
| b.strftime"%y-%m-%d %H:%M:%S"if c==c.reverse}'
|
| 127. Script never terminates, but it does display all
| possibilities, so I think it still passes!
|
| Edit: 126. ruby -rdate -e'b=DateTime.new
| 0;loop{b+=1/86400r;puts b.strftime"%y-%m-%d
| %H:%M:%S"if(c=b.strftime"%y%m%d%H%M%S")==c.reverse}'
|
| I think I'm done for the moment, will revisit tomorrow if
| you can find any further savings!
| [deleted]
| [deleted]
| hirundo wrote:
| 2022-11-22 22:11:22.02
___________________________________________________________________
(page generated 2022-11-22 23:00 UTC)