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!
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!
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 :)
151 bytes (including the ruby -e, down from 174.) Thanks!
142? Sorry if I broke anything, on phone.
Edit: DateTime.new(0) seems to work. 141.
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!
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}'`
0..2e9|%{date(date 0).AddSeconds($_)-f 'yy-MM-dd HH:mm:ss'}|?{$_-match'(.)(.)-(.)(.)-(.)(.) \6\5:\4\3:\2\1'}[1] https://www.bipm.org/documents/20126/64811223/Resolutions-20...