Questions tagged «date»

此挑战旨在通过使用,操纵,接受作为输入,输出或计算日历日期或时钟时间来解决。

15
计划您的周日!
谁不喜欢在夏天的周日早晨在凉爽的啤酒和电视中放松身心,或者在冬天打羽毛球或与朋友们终极放松呢? 我一直认为,知道一个月内需要休息多少天,可以使您了解情况并帮助您计划要做什么。是坐在电脑前解决代码高尔夫球问题,还是出门踢足球。 因此,请帮我编写一个程序或函数,该程序或函数将2个正整数作为输入,Y并M输出该特定year(Y)和month(M)中的星期日数(根据公历),然后是每个星期日的日期。 另外,请记住,最短的代码会获胜。 输入约束 1000 <= Y <= 9999 1 <= M <= 12 输出量 这些测试用例将以格式输出具有当年该月中每个月的每个星期日的日期DD-MM-YYYY。 样本测试用例 测试用例1 样本输入 2017 1 样本输出 5 01-01-2017 08-01-2017 15-01-2017 22-01-2017 29-01-2017 测试案例2 样本输入 2018 2 样本输出 4 04-02-2018 11-02-2018 18-02-2018 25-02-2018 测试用例3 样本输入 2016 11 样本输出 4 06-11-2016 13-11-2016 20-11-2016 27-11-2016
16 code-golf  date 

1
支持哪些Ubuntu版本?
给定输入日期,您的输入将输出该日期Ubuntu Linux发行版受支持版本的完整列表。 所有版本的完整列表如下: 版本代码名称发布日期 4.10 Warty Warthog 2004-10-20 2006-04-30 5.04 Hoary Hedgehog 2005-04-08 2006-10-31 5.10微风Bad 2005-10-13 2007-04-13 6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01(服务器) 6.10 Edgy Eft 2006-10-26 2008-04-25 7.04 Feisty Fawn 2007-04-19 2008-10-19 7.10 Gutsy长臂猿2007-10-18 2009-04-18 8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09(服务器) 8.10 Intrepid Ibex 2008-10-30 2010-04-30 9.04 …
16 code-golf  date 

2
RX的ValiDate ISO 8601
挑战 查找最短的正则表达式 只会验证,即比赛中,每一个可能的日期在Proleptic公历(这也适用于所有日期在1582年首次执行前) 与任何无效日期都不匹配。 输出量 因此,输出是真实的还是错误的。 输入值 输入采用3种扩展的ISO 8601日期格式中的任何一种-无时间。 前两个是±YYYY-MM-DD(年,月,日)和±YYYY-DDD(年,日)。the日都需要特殊的外壳。这些扩展的RX天真地将它们分别匹配: (?<year>[+-]?\d{4,})-(?<month>\d\d)-(?<day>\d\d) (?<year>[+-]?\d{4,})-(?<doy>\d{3}) 第三种输入格式是±YYYY-wWW-D(年,周,日)。由于leap周模式复杂,因此比较复杂。 (?<year>-?\d{4,})-W(?<week>\d\d)-(?<dow>\d) 对这三个组合进行的基本但有效性不足的检查如下所示: [+-]?\d{4,}-((0\d|1[0-2])-([0-2]\d|3[01]) ↩ |([0-2]\d\d|3[0-5]\d|36[0-6]) ↩ |(W([0-4]\d|5[0-3])-[1-7])) 条件 一个闰年的Proleptic公历包含闰日 …-02-29,因此它是长366天,因此…-366存在。在序数可被4整除的任何年份中都会发生这种情况,除非它也能被400整除,否则不会被100整除。 该日历中存在零年,并且是a年。 一个漫长的一年,在ISO周历包含了第53周,其中一个可以称之为一个“ 闰周 ”。在1月1日是星期四的所有年份中都会发生这种情况,在所有leap年都是星期三的所有leap年都发生这种情况。事实证明,它通常每5或6年出现一次,呈看似不规则的模式。 一年至少有4位数字。不必支持位数超过10的年份,因为这已经足够接近宇宙的年龄(大约140亿年)。前导加号是可选的,尽管实际标准建议多于4位数字的年份需要使用它。 不得接受不完整的部分或截短日期。 日期标记,例如一个月的部分,也没有必须由可能被引用的一组相匹配。 规则 这是代码高尔夫球。没有执行代码的最短正则表达式将获胜。更新:您可以使用诸如递归和平衡组之类的功能,但是会被罚款10倍,然后与字符数相乘!现在,这与Hard code golf中的规则不同:Regex可除以7。较早的答案胜出。 测试用例 有效测试 2015-08-10 2015-10-08 12015-08-10 -2015-08-10 +2015-08-10 0015-08-10 1582-10-10 2015-02-28 2016-02-29 2000-02-29 0000-02-29 -2000-02-29 -2016-02-29 200000-02-29 …

10
数字日期范围
注意:由于我本人是荷兰人,dd-MM-yyyy因此挑战说明和测试用例中的所有日期均为荷兰语格式。 挑战: 输入: 开始日期;结束日期;数字sssËeeñnn 输出: 范围内的所有日期(包括双方),其日期中包含位数的唯一数字。[ s ,e ][s,e][s,e]ñnn 例: 输入:开始时间:12-11-1991; 结束日期:02-02-1992; 数字:4 输出: 天/月的前导0: [20-11-1991, 23-11-1991, 24-11-1991, 25-11-1991, 26-11-1991, 27-11-1991, 28-11-1991, 30-11-1991, 01-12-1991, 02-12-1991, 09-12-1991, 10-12-1991, 13-12-1991, 14-12-1991, 15-12-1991, 16-12-1991, 17-12-1991, 18-12-1991, 20-12-1991, 23-12-1991, 24-12-1991, 25-12-1991, 26-12-1991, 27-12-1991, 28-12-1991, 31-12-1991, 01-01-1992, 02-01-1992, 09-01-1992, 10-01-1992, 11-01-1992, 12-01-1992, 19-01-1992, 20-01-1992, 21-01-1992, …
16 code-golf  number  date 

9
在日期范围内寻找差距
给定日期范围列表r作为输入,输出或返回在中找不到的任何范围r。 为了这个示例,输入将采用YYYY-MM-DD格式。 假设您有三个日期范围: [2019-01-01, 2019-02-01] [2019-02-02, 2019-04-05] [2019-06-01, 2019-07-01] 您会看到2019-04-05和之间存在缝隙2019-06-01。 输出将是该差距: [2019-04-06, 2019-05-31] 规则 输入和输出可以采用任何合理的日期或收集格式,只要保持一致即可。 假设输入未排序。 您的日期范围不必为[latest, earliest],但必须遵循规则2。 假设输入中没有重叠的日期 测试用例: 输入: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]] 输出: [[2019-04-06, 2019-05-31]] 输入: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]] 输出: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]] 输入: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]] 输出: [] 输入: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]] …
15 code-golf  date 

10
将Excel日期代码转换为“日期”
给定非负整数Excel样式的日期代码,以任何清楚地显示年,月和日的合理形式返回相应的“日期”。 您可能会认为微不足道。您是否注意到“吓care行情”?我使用这些是因为Excel有一些怪癖。Excel的计算与数字1天,1月1日日,1900,但仿佛1900有一个1月0日日和2月29 日,所以要非常小心地尝试所有的测试用例: Input → Output (example format) 0 → 1900-01-00 Note: NOT 1899-12-31 1 → 1900-01-01 2 → 1900-01-02 59 → 1900-02-28 60 → 1900-02-29 Note: NOT 1900-03-01 61 → 1900-03-01 100 → 1900-04-09 1000 → 1902-09-26 10000 → 1927-05-18 100000 → 2173-10-14

9
寻找我最喜欢的时间
我真的很喜欢遵循特定模式的时代。特别是,我喜欢所有数字都相同的时间,或者所有数字从左到右算术增加一个的时间。此外,当人们在我的时代写信时,我会感到内心的憎恨,因此所有AM / PM的废话对我来说都是死的。因此,我最喜欢的时间是: 0000 0123 1111 1234 2222 2345 为了让我省心,我需要您编写一个程序,以当前时间作为输入,两个程序都必须:(A)如果现在不是我最喜欢的时间之一,请告诉我两个程序(i)这是多少分钟从我上次最喜欢的时间开始算起,以及(ii)从现在开始我下一个最喜欢的时间发生了多少分钟;和(B)如果是现在我最喜欢的一个时代,提供了一个单一的“信号值”。 输入值 您的程序应采用以下任何一种stdin格式接受(通过任何方法:函数参数,命令行参数等)当前时间。 四位数的时间作为字符串 可以在左边补零的整数,以字符串形式表示四位数的时间 四个(或更少)整数的序列,其顺序使得该序列中的第一个整数是时间输入中最左边的(有效)数字(例如,0951可以有效地表示为[0, 9, 5, 1]或[9, 5, 1]) 表示0000为零长度序列是可以接受的 对于字符串输入,它只能包含数字,不能包含冒号或其他标点符号。 可以假定输入始终是24小时有效时间: HHMM,0 <= HH <= 23和0 <= MM <= 59。忽略of秒的可能性。 输出量 您的程序必须根据输入的值是否是目标时间stdout来提供(A)或(B)(功能返回等都可以)。 为一个): 提供任何合理格式的两个数值,例如: 具有合适分隔符的单字符串输出 顺序整数/字符串输出,例如,将bash两行打印到stdout: 49 34 长度为2的有序返回值,例如Python列表,C数组等: [49, 34] 值可以以任何顺序出现。例如,以下两个都是输入的有效输出1200: 49 34 34 49 但是,所有输入值的顺序和分隔符必须相同! 对于(B): …
15 code-golf  date 

23
我吃过午饭了吗?
你喜欢午餐。但是,您正在节食,并希望确保自己一天之内不吃午餐两次。因此,您需要制作一个程序来帮助您确定。 但是,一个复杂的问题是您吃午餐的时间很奇怪。午餐时间为MONTH:DAY PM(您可以使用UTC或本地化时区)。没错,如果一天是7月14日,那么您将在7:14 PM吃午餐。 对于您的程序,您需要使用当前日期和时间(不要输入),并且如果您当天已经吃过午餐(或者现在是午餐时间),则需要输出一致的真实值,或者输出一致的虚假值。如果还没有。 示例:(运行程序的时间=>输出) 5月4日上午11:35 =>否(您将在5:04 PM吃午餐) 6月3日下午5:45 =>否(您将在6:03 PM吃午餐) 7月28日晚上8:30 =>正确(您在晚上7:28吃了午餐) 12月15日下午3:25 =>正确(您在12:15 PM吃了午餐) 2月29日下午2:29 =>正确(恰好是午餐时间) 10月12日12:00 AM =>否(一天刚刚开始) 参考: 12小时制的工作原理
15 code-golf  date 

6
过去的今天
所述Discordian日历是由Discordians使用的备选的日历。 Discordian年有5个季节,每个季节持续73天:混乱,不和谐,混乱,官僚主义和余波。 Discordian星期有5天:Sweetmorn,Boomtime,Pungenday,Prickle-Prickle和Setting Orange。每年从Sweetmorn(以及Chaos)开始。 每˚F ourth年(其中Happe的ñ s到格雷格对准Ø日安飞跃啊[R S),一个额外d AY插入混沌59和60混沌之间称为圣提布节。它不在Discordian周内,这意味着St. Tib's Day之后的第二天将设置为Orange,即Prickle-Prickle的前一天。 公历和Discordian日历排成一行;两者都在同一天开始,在公历中是1月1日,在Discordian中是1。 圣母不和谐元年(YOLD 1)是公历前1166年,公历前一年,意味着今年(2017 AD)为YOLD 3183。 Discordian日历也有假期,但是对于这一挑战而言,假期并不重要,因此您不应输出它们或有关它们的任何内容。 编写一个程序或函数以输出或返回今天的日期(在执行时): Today is Boomtime, the 16th day of Confusion in the YOLD 3183 格式为"Today is $day_of_the_week, the $ordinal day of $season in the YOLD $year",其中$ day_of_the_week是大写的星期几(标题大小写),$ ordinal是本赛季的第几天(第1、2nd,3rd,4th等),$ season是大写的日期(标题大小写)季节,而$ year是年份。 如果您的程序或函数在圣提比纪念日执行,则应改为输出或返回"Today is St. Tib's …
15 code-golf  date 

6
模拟我的键盘
我的键盘出现了问题(更有可能是浏览器出现了问题)。有时,当我单击一个新的文本字段并开始输入时,我所有的文本都会向后显示。经过很短的时间(出于挑战的目的,我们会说是10毫秒),它将恢复再次向前键入。似乎一开始我开始输入时光标没有移动,所以所有字母都插入了文本字段的开头。 例如,如果我输入的python内容pyt是在最初的10毫秒内输入的,则结果为 hontyp 任务 您的工作是在尽可能少的字节中模拟此行为。 输入值 您可以采用任何合理的方法进行输入。但是,您可能不能将输入作为两个单独的字段。当程序开始允许输入时,应开始10毫秒的延迟。也就是说,在允许输入之前,您可能需要进行预处理,这不应算作10毫秒。 在时间上允许一定的宽恕,只要它在合理配置的计算机上平均为10毫秒且偏离时间不超过1毫秒(不超过1%)即可。 输出量 您可以按照自己认为合适的任何方法输出字符串。您可以在用户输入时实时更新,也可以在完成输入后(通过换行符或文件结尾^D)输出结果。 测试用例 其中一些是由此CMC在第十九字节中生成的 First 10 | after | result bra in-flak in-flakarb ap ple plepa code- golf golf-edoc no ne neon we st stew ai med media draw back backward
15 code-golf  string  date 

30
暂停时间是原来的两倍
您面临的挑战是打印输入,等待任何时间,打印输入,等待两次您最初等待的时间,再次打印输入,依此类推。初始延迟必须小于1小时,并且后续延迟的精度必须为+/- 5%。除此之外,对延迟时间没有限制。 例: 输入:hi。 输出:hi(1ms暂停)hi(2ms暂停)hi(4ms暂停)hi(8ms暂停)hi(16ms暂停),等等 还允许: hi(暂停1分钟)hi(暂停2分钟)hi(暂停4分钟)hi(暂停8分钟)hi(暂停16分钟),等等。 输入必须在程序开始时提供(STDIN,命令行参数,函数参数等),并且必须是字符串。 初始延迟不能为0。
15 code-golf  string  date 

6
你有一天连胜!
编写一个程序,跟踪其运行的连续天数。 白天在午夜(运行该程序的计算机的本地时间)重置。 如果一天中没有运行该程序,则将计数器重置为零。 每次运行该程序时,如果这是该天第一次运行该程序,则计数器应增加一天。这意味着程序第一次运行时,应该说:“您有1天的连胜!” 程序的输出格式为: You have a [streak_length] day streak! 您可以选择在外部存储数据或修改源代码。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!
15 code-golf  date 

3
帮我安排时间
最近有人告诉我要在新年之前读一本完整的物理教科书(不幸的是,是真实的故事)。我需要您的帮助来确定每天应阅读哪些章节。这是您进来的地方。 输入值 两个日期,任何格式。第二个日期将始终晚于第一个日期。 章节编号列表。此逗号分隔的列表可以包含单个章节(12)或包含范围(1-3)。例如 1-3,5,6,10-13。 Monday -> Mo要从时间表中排除的工作日列表(用名称的前两个字母表示:)。例如 Mo,Tu,Fr。 输出量 输出将是用换行符分隔的日期和章节编号的列表(请参见下面的格式)。这些章节应在该范围内的所有日期(不包括提供的工作日)中平均分配。如果各章分布不均,请在时段结束时保留较少的章节。输出中的日期可以采用与输入不同的格式。没有章节的日子可以被忽略,或者没有章节。 例: 输入: 9/17/2015 9/27/2015 1-15 Tu 输出: 9/17/2015: 1 2 9/18/2015: 3 4 9/19/2015: 5 6 9/20/2015: 7 8 9/21/2015: 9 10 9/23/2015: 11 9/24/2015: 12 9/25/2015: 13 9/26/2015: 14 9/27/2015: 15

13
小数时间转换
介绍 时间令人困惑。六十秒到一分钟,六十分钟到一小时,一天二十四小时(更不用说讨厌的上午/下午!)。 如今,没有这么大的愚蠢空间,因此我们决定采用唯一明智的选择:十进制天!也就是说,每天被认为是1个完整的单位,较短的部分则记作该天的小数部分。因此,例如:“ 12:00:00”将被写为“ 0.5”,而“ 01:23:45”将被写为“ 0.058159”。 因为要适应新系统将花费一些时间,所以您需要编写一个可以在两个方向之间进行转换的程序。 挑战 使用您选择的语言编写一个程序,该程序在ISO-8601格式为“ hh:mm:ss”的现代环境下将返回等效的十进制小数单位。同样,给定小数部分,程序应以最初指定的现代格式返回时间。 您可以进行以下假设: 现代时间输入和输出的范围可以从“ 00:00:00”到“ 24:00:00” 小数点输入和输出的范围可以从“ 0”到“ 1”,并且应该能够接受/输出至少5个小数位(例如“ 0.12345”)。可以接受更高的精度 程序应该能够知道基于输入执行哪个转换方向 您不能使用与时间相关的功能/库 获胜者将由符合条件的最短代码确定。至少以7个小数日为单位,或者如果/如果提交的数量足够,则选择它们。 例子 这是一个(故意)写得不好的JavaScript代码,以作为示例: function decimalDay(hms) { var x, h, m, s; if (typeof hms === 'string' && hms.indexOf(':') > -1) { x = hms.split(':'); return (x[0] * 3600 + …

24
下星期五13日
能预测下一个星期五的下一个最短程序是哪个月的第13天? 必须是功能完整的程序(而不仅仅是函数/子例程) 必须以以下格式打印日期: YYYY-MM-DD 允许用户提供开始日期作为命令行参数或通过 STDIN 如果用户未提供开始日期,请使用今天作为开始日期。 如果开始日期是13号星期五,则程序应找到下一个 13号星期五。 如果今天(2011年2月16日)运行该程序,则应获得以下输出。 $ ./fr13th 2013-05-09 2013-09-13 $ ./fr13th 2007-06-29 2007-07-13 $ ./fr13th 2007-07-13 2008-06-13 $ ./fr13th 2011-05-13
15 code-golf  date 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.