n秒后是哪一年?
您将获得一个整数n作为输入,并且无论当前日期如何,必须返回从现在起n秒后发生的日历年(公历,不允许使用其他日历)。规则您不能假定当前年份是2021年。换句话
解答动态
PHP获取年份,27 bytes quo;quo;quo;quo;
联机试用或仅在自定义指定的开始日期试用。(对于大的输入来说相当慢,所以不能输出当前日期的大测试用例)夷平面:
05AB1E没有任何日期内置(除了当前日期/时间),我以前手动计算过。我用了我这个答案的第二天代码,它反过来也用了这个答案的闰年计算我的。从那以后这个挑战也要求回到过去,为了支持这一点,我对程序进行了相应的修改。
步骤1:创建一个函数来计算给定年份中一个月的天数/月份:
lt;7%?31α}lt;#将月份减少17%#模-7é#模-2 31α#与31的绝对差}#关闭if else语句第2步:现在我们确定当前日期,循环次数取决于输入:
?e?推送当前日期?f?推送当前月份?g?推送当前年份)?将所有三者都包装到一个列表中I?推送输入整数??+#按压缩整数42300·#将其加倍到84600(60*60*24)÷#整数将输入除以84600?#取其绝对值F#并循环次数: 3:如果输入为正,则计算下一个 日期:
?#将当前日期存储在变量`?`(不弹出)Idi#中,如果输入为非负:Y.V#执行字符串“Y”作为05AB1E代码,以获取当前月/年的天数#i#如果小于当前日期:?#再次推送当前日期#获取其第一项(日期)gt;?增加该月11?推索引1?否则:\?丢弃复制的月1#推月=1 D#推索引1?在索引1处插入月=1到日期#推最后一项(年份)lt;#将[year]减少1 D#复制它#检查它是否等于0(如果为10;否则为0)—#减去(因此我们从第1年到-1年)12?31?准备12和31:[31,12,第1年-(第1年==0)]?否则:?lt;?将day-1添加到[month-1,year]列表中,year]list 步骤5:在循环之后,提取要输出:
]#关闭if-else并循环θ#弹出日期,只留下它的最后一项(年份)#(之后它被隐式输出) 参见我的05AB1E技巧(如何压缩大整数一节?)要理解为什么?a+是42300.
Bash,16字节 date-d$1秒+%y 请在线试用!
credits由于@mannetworkJavaScript(ES6)节省了12个字节,42个字节 n=>;新日期(+new Date+n*1e3)。getFullYear() 在线试用!
倍频程/MATLAB,27 bytes @(x)datestr(x/86400+now,10) 在线试用!
它的工作方式 @(x)%Define匿名函数,输入x x/86400%除以86400%输入,现在转换为天%Current time in days sincequot;+%Add datestr(,10)%convert to string with format 10,也就是年份jq,20个15字符1现在+。
gmtime[0] Sample运行:
bash-5.0$jq'now+。gmtime[0]'lt;<;100000000005190 在线试用!
PowerShell,32 26 23 bytes date
%*dds*@args
%y* 在线试用!
-3字节感谢mazzy和ZaelinGoodman
Japt,12 10 bytes DKj+Ue3)i Try it
-2字节来自AZTECCO.
这个传输到以下JS:
new Date(K.j()+U*1e3).i() 其中K.j()是转换为毫秒的当前时间,U是输入,.i()从日期构造函数获取年份.
Ruby,21 bytes -gt;n{(时间到了。现在+n) .year}.
IBM/Lotus Notes公式语言,34 32字节1@年(@Adjust(@Now;0;0;0;0;i)) 从名为i的字段获取输入。不幸的是,公式仅支持32位有符号整数,因此它的最大输入为+/-2147483,公式中没有TIO,所以这里有几个sc重新拍摄:
Python 3,74 72 65 bytes lambda x:(日期:今天()+timedelta(0,x)).yearfrom datetime导入* 联机试用!
-7字节得益于@Eric
GNU coreutils(16字节) date+%Y-d$1sec 节省了4字节,得益于@ovs.
APL(Dyalog Unicode),20 bytes 完整程序,从stdin.
??20?1?DT?+20?DT'J' 20?DT'J'?获取当前本地*(Juliett)日期时间作为UNIX时间(代码20;从1970年开始的秒)
?+?提示输入n并使用它来增加UNIX时间。
20?1?解释为UNIX时间(代码20)并转换为时间戳数组(代码-1)
??提取第一个(也是唯一的)时间戳
?提取第一个元素(年份)
Try APL!(第一个和最后一个案例缩小了10倍,以避免达到日期时间,从0001年1月1日到4000年2月28日;为了方便使用而变成函数)
*也可能有'- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。