Questions tagged «date»

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

11
通过计算指关节数来计算整整31天有多少个月
你们中仍有多少人仍然使用自己的指关节来确定一个月是否已不足31天? 您的工作是编写一个程序,通过“计算转向节”来计算一个月范围内有多少个月的时间已满31天,有多少个月的时间少于31天。 礼貌:amsi.org.au 输入值 一两个月,第二个月不必按时间顺序排在第二个月之前,可以以任何合适的格式给出。例如:201703 201902— 2017年3月至2019年2月。请描述您选择的输入格式。请注意,输入必须能够包含从1到9999的所有年份。指定的月份范围包括开始和结束月份。 输出量 两个整数:给定范围(31天)中的月数和少于31天(范围)中的月数。 示例:14 10— 14个指关节,10个凹槽(这意味着在该月范围内,我们有14个月的时间为整整31天,而10个月的时间少于31天)。 例如,对于范围中第二个月按时间顺序在第一个月之前的输入201612 201611,您必须输出一对零。 输入和输出示例 | Input | Output | |---------------|-------------| | 201703 201902 | 14 10 | | 201701 202008 | 26 18 | | 000101 999912 | 69993 49995 | | 201802 201803 | 1 1 | | …

1
在验证ISO 8601日期时击败纯正则表达式
在RX的ValiDate ISO 8601中,挑战在于仅使用标准正则表达式来验证标准日期格式和值(前者是RX的常见工作,后者是不寻常的)。获奖答案使用了778个字节。这个挑战是要使用您选择的任何语言来克服这种挑战,但要使用特殊的日期函数或类。 挑战 查找最短的代码 验证Proleptic Gregorian日历中的每个可能日期(也适用于1582年首次采用之前的所有日期), 与任何无效的日期都不匹配,并且 不使用任何预定义的函数,方法,类,模块或类似方法来处理日期(和时间),即依赖于字符串和数字运算。 输出量 输出是真还是假。无需输出或转换日期。 输入值 输入是3种扩展的ISO 8601日期格式中的任何一种的单个字符串-无时间。 前两个是±YYYY-MM-DD(年,月,日)和±YYYY-DDD(年,日)。两者都需要special日的特殊保护套。这些扩展的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) 条件 一个闰年的Proleptic公历包含闰日 …-02-29,因此它是长366天,因此…-366存在。这种情况发生在序数可以被4整除但不能被100整除(除非也可以被400除)的任何 年份。此日历中存在零年,并且是a年。 一个漫长的一年,在ISO周历包含了第53周…-W53-…,其中一个可以称之为一个“ 闰周 ”。在1月1日是星期四的所有年份中都会发生这种情况,在所有leap年都是星期三的所有leap年都发生这种情况。0001-01-01并且2001-01-01是星期一。事实证明,这种情况通常每5或6年出现一次,看似不规则。 一年至少有4位数字。不必支持位数超过10的年份,因为这已经足够接近宇宙的年龄(约140亿年)。前导加号是可选的,尽管实际标准建议多于4位数字的年份需要使用它。 不得接受不完整的部分或截短日期。-在所有情况下都必须使用连字符。(这些先决条件可以使导致+总是可选的。) 规则 这是代码高尔夫球。以字节为单位的最短代码获胜。较早的答案胜出。 测试用例 有效测试 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 +2016-02-29 200000-02-29 -200000-02-29 +200000-02-29 2016-366 …
12 code-golf  date 

5
ASCII日历计划器
给定活动列表及其开始时间/日期,请输出一个ASCII艺术日历,显示相应日期的活动。保证所有活动都在同一个月内进行,没有两个活动可以在同一天进行,并且保证所有活动都可以放在日历框中。 日历的日期在每个框的左上角,这些框宽9乘5高,由-和包围|。星期几的两个字母的缩写位于第一行的上方,而星期几则从星期日开始。 例如,给定以下活动: 10/5/2018 - 9:00am - Sandbox calendar challenge 10/9/2018 - 9:00am - Post challenge to main 10/10/2018 - 10:00am - Profit 10/31/2018 - 7:30pm - Halloween party 输出此相应的日历: Su Mo Tu We Th Fr Sa ----------------------------------------------------------------------- | |1 |2 |3 |4 |5 |6 | | | | | …

12
列出0000-01-01至99999-12-31之间的所有回文素数日期
您知道回文,素数和日期是什么。 您的任务是列出满足所有三个特征的十万年的所有日期。 除了数字外,别无其他,请使用以下格式:YYYYMMDD和YYYYYMMDD。 0000-01-01和9999-12-31之间的日期应打印为8位回文日期(如果有?),而10000-01-01和99999-12-31之间的日期应打印为9位回文日期。 按时间顺序列出日期不是强制性的。 有效输出的示例部分。 前三个9位数主要回文日期: ... 100111001 100131001 100161001 ... 规则 有标准漏洞。

10
最近的特殊年份是什么时候?
一个常见的一年是一年不是闰年,并在今年的第一天和最后一天是在同一天。一个特殊的普通年是从星期一开始,到星期一也结束。 您面临的挑战是创建一个程序/功能,当给定年份作为输入时,它会查找最接近的特殊普通年份,如果是普通年份,则将自身输出。如果年份与前一年一样接近,则输出更大的年份。 输入值 一个整数,代表要测试的年份,范围为1600 <= x <= 2100。 输出量 表示最接近的特殊公共年份的整数。 测试用例 2017 -> 2018 2018 -> 2018 1992 -> 1990 1600 -> 1601 2100 -> 2103 1728 -> 1731 (lies between 1725 and 1731) 笔记 给定范围内的所有54年都已显示在链接的Wikipedia文章中。我还将在这里提供它们以供参考: 1601, 1607, 1618, 1629, 1635, 1646, 1657, 1663, 1674, 1685, 1691 1703, 1714, 1725, …
11 code-golf  date 

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

6
到这个日期要多久?
想法是这样的:编写一个函数以打印从现在/今天的日期(调用函数时)到作为参数提供的日期为止的时间长度。 假设: 输入日期将始终是明天或更晚。 输入日期永远不会超过10年。 规则: 输出必须采用以下格式:“ [z年],[x月],y天,直到-Input Date-” 输出时间范围(日/月/年)必须正确地复数。即1 month,不是1 months 输入可以采用您喜欢的任何日期格式(2012年3月15日-2012年3月15日-2012.03.15)。 示例: 假设程序在2012年3月15日运行: 输入日期3/20/12=5 days until 3/20/12 不输入日期4/16/12=1 month, 1 days until 3/20/12 输入日期2012.04.20=1 month, 5 days until 2012.04.20 不输入日期2012.04.20=36 days until 2012.04.20 输入日期10/31/17=5 years, 7 months, 16 days until 10/31/17 输入日期3/15/13=1 year until 3/15/13 这是代码高尔夫球,因此最短的代码获胜。 我想为了有一个截止日期,我将选择一个答案: 2012年3月23日! (这是我的第一个CG问题,因此,我很乐意更正我的所有问题错误!)
11 code-golf  date 

5
计算两天之间的差。
另一个日期处理问题:P 任务 编写一个程序或函数来计算用户给定的两个日期之间的差。 输入输出 与上一个输入类似,输入为2 YYYYMMDD,以空格,逗号,或减号分隔-。 输入值示例: 20100101-20010911 20110620-20121223 19000101 20101010 33330101,19960229 00010101 99991231 输出是一个整数,它是两个日期之间的差,以天为单位。 例如,输入20110101-20100101yields 365和33320229 17000101yields 596124。 您可以测试结果 在这里 在这里。(请参阅下面的rintaun注释。)如果两个日期相同0,则该日期应该是有效的(请参见Score)。 限制 当然,你必须不能使用任何 / ......这些都与时间戳或日期类型的函数/类的,你应该使用公历。 得分了 如果您的代码没有保留该限制,则score = -∞。 默认bonus值为1。 如果您的代码不管输入顺序如何(例如20100101,20110101return 365或-365)都可以工作,则bonus+=1。 如果您的代码可以处理0年,bonus+=0.5。 如果您的代码识别出无效的月份(介于1到12之间)/日期(介于1到31之间),例如20109901或34720132,并打印E(&终止程序或返回类似的东西0)bonus+=1。 不管上面的规则,如果你的代码识别无效的日期,如20100230,20100229或20111131,并打印E(终止程序或返回类似0)bonus+=1。 无论上述两个规则,如果你的代码识别无效的输入字符串,如20100101|20100202或2010010120100202,并打印E(终止程序或返回类似0)bonus+=1。 score = floor(-4.2*code.length/bonus)。得分最高的代码获胜。如果两个最高代码得分相同,则奖金最高的代码获胜。如果两个最高代码同时具有相同的得分和奖金,则获胜最多的代码将获胜。 (到期日:当有5个以上的代码具有超过(或相等的)+1票数时。)
11 code-golf  date 

9
这个日期格式是什么?
对于公历,日期格式因国家/地区而异。公认的三种主要格式: YY-MM-DD (大端) DD-MM-YY (小尾数) MM-DD-YY (中端) 您的任务是编写一个程序,给定一个表示日期的输入字符串,该程序输出所有可能的日期格式,以此字符串可以将其解释为日期。 规则 输入日期的格式为xx-xx-xx,其中每个字段均为两位数字,且填充零。 该日期始终有效(因此您无法获得14-13-17之类的信息) 日期始终至少是上述格式之一(因此您无法获得17-14-11之类的信息) 因为实际上我们处于并行世界中,所以每年的每个月都有31天,因此没有leap年 日期为2001年1月1日至2099年12月31日之间 如果日期只有一种格式,则代码必须仅打印该日期(仅允许尾随换行符) 如果日期有多种格式,则必须用逗号,空格,换行符或它们的组合分隔 您必须输出格式的确切名称。不允许使用不同的任意值。 除尾随空格外,不允许任何前导或尾随字符 输出必须为小写 不允许使用任何内置的日期或日历功能 输出格式不必排序 例子 Input Output 30-05-17 big-endian, little-endian 05-15-11 middle-endian 99-01-02 big-endian 12-11-31 big-endian, little-endian, middle-endian 02-31-33 middle-endian 这是代码高尔夫球,因此以字节为单位的最短代码获胜。鼓励解释。
11 code-golf  date 

14
一个月中工作日的百分比
给定一年零一个月,找出该月工作日的百分比。工作日为星期一至星期五,与节假日或其他特殊情况无关。使用公历。 输入值 ISO 8601格式的年月(YYYY-MM)。年份始终具有四个数字,月份始终具有两个数字。给定的年份不会早于1582年。 输出量 输出是给定月份的工作日百分比(根据上述定义),四舍五入为整数。没有百分号或小数位。 样品1 Input Output 2010-05 68 样品2 Input Output 2010-06 73 样品3 Input Output 1920-10 68 样品4 Input Output 2817-12 68 一个星期过去了,答案已经被接受。出于好奇,我们在比赛中收到的意见书的大小: 129 – Z Shell 174 – VB.NET 222 – C 233 – C 300 – C 以及我们自己的(未排名)解决方案: 75 – PowerShell 93 – Ruby …
11 code-golf  date 

9
穿越时空
介绍: 一般来说,我们通常说四个维度:三维空间的x,y和z; 和一个时间维度。对于这一挑战的缘故然而,我们就会将时间维度分为三个还有:past,present,和future。 输入: 两个输入列表。一种包含整数x,y,z坐标,另一种包含整数年。 输出: 您自己选择的四个不同且恒定的输出之一。一个表示输出space; 一个表示输出time; 一个表示输出both space and time; 一个指示输出neither space nor time。 如果所有三个维度的整数元组之差都不为0,我们将指示我们进入了所有三个维度。 如果过去至少有一年,未来至少有一年,以及至少有一年等于当前年(所以现在),我们将指示我们进入了所有三个时间维度。 例: 输入: 坐标列表:[{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}] 年列表:[2039, 2019, 2018, 2039, 2222] 输出: 恒定为space 为什么? 该x坐标[5,5,-6,5]。由于它们并不完全相同,因此我们遍历了x空间维度。 该y坐标[7,3,3,7]。由于它们并不完全相同,因此我们也讨论了y空间维度。 该z坐标[2,8,8,2]。由于它们并不完全相同,因此我们也讨论了z空间维度。 本年度是2018。在此之前没有几年,因此我们没有访问past时间维度。年列表中 有一个2018礼物,因此我们确实访问了present时间维度。() 以上有多个年份,因此我们也访问了时间维度。2018[2039, 2019, 2039, 2222]future 由于我们已经访问了所有三个space维度,但是仅访问了三个维度中的两个time,因此输出将仅为(的常数)space。 挑战规则: 您可以为四种可能的状态使用任何四个不同且恒定的输出。 输入可以采用任何合理的格式。坐标列表可以是元组,大小为3的内部列表/数组,字符串,对象等。年份列表可以是日期对象的列表,而不是整数,如果它对您的字节数有利的话。 您可以假设x,y,z坐标为整数,因此无需处理浮点小数。但是x,,y和/或z坐标中的任何一个都可以为负值。 您不能将输入列表预先订购。输入列表应按照测试用例中显示的顺序。 您可以假设所有年份值都在该范围内[0,9999];并且您可以假设所有坐标都在范围内[-9999,9999]。 如果您的语言没有检索当前年份的任何方式,但是您仍然想应对这一挑战,则可以将其作为附加输入并将答案标记为(非竞争)。 通用规则: …

1
Tatamibari求解器
背景 Tatamibari是由Nikoli设计的逻辑难题。 Tatamibari拼图游戏在带有三种不同符号的矩形网格上播放:+,-。和|。求解器必须根据以下规则将网格划分为矩形或正方形区域: 每个分区中必须只包含一个符号。 一个+符号必须包含在一个正方形。 甲|符号必须被包含在具有比宽度更大的高度的矩形。 甲-符号必须被包含在具有比高度较大的宽度的矩形。 四个片段可能永远不会共享相同的角落。(这是日本榻榻米瓷砖通常的放置方式。) 以下是一个示例难题,并提供了解决方案: 任务 解决给定的Tatamibari难题。 输入输出 输入是一个2D网格,代表给定的Tatamibari拼图。每个单元包含四个字符之一:+,-,|,和您所选择的字符来表示一个非线索细胞。在测试用例中,使用星号*。 您可以选择任何合适的输出格式,这些输出格式可以明确表示Tatamibari拼图的任何有效解决方案。这包括但不限于:(如有疑问,请在评论中提问。) 4元组的列表,其中每个元组包括矩形的顶部索引,左侧索引,宽度和高度(或任何等效表示形式) 与输入形状相同的数字网格,其中每个数字代表一个矩形 坐标集列表,每个坐标集包括矩形中单元格的所有坐标 如果难题有多个解决方案,则可以输出任意数量(一个或多个)的有效解决方案。输入保证至少有一个解决方案。 测试用例 Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

7
阅读我的自由格式日期
给定以以下任何格式(必须在同一程序中全部处理)编写的日期,请将其解析为有效的yyyy/mm/dd date。 17th May 2012 March 14th, 2016 20 February 2014 September 14, 2017 Sunday, June 8, 2015 规则 日期有时是无效的,即。如果月份中的日期不正确或一年中的月份数不正确,则必须处理两种情况。您可以选择是否出错或返回一致的false值。(但是,它们将遵循上面的模板格式) 必须使用少于10天和几个月的填充来创建两位数的输出。 月名称将始终为全名,而不是三个字符的缩写。 您可以假设年份始终在0000-9999之间。 负数无需处理。 您可以创建完整的程序或函数,以便输出可以是任何格式,可以打印到控制台或可以从函数返回。 输入将始终是一个字符串,输出必须始终是一个字符串,如果这使得将其作为数组中的单个参数变得更短,例如。["17th May 2012"]您可以这样做,并且输出可以相同["2012/05/17"] 您可以假设输入中的拼写正确。 奖励:这里不喜欢挑战的cos;) 如果你能设法还允许的输入格式,The Fourteenth of March, 2016或者March the Fourteenth, 2016你可能需要一个额外的20个字节关闭您的代码与任何最终的字节数小于1,导致1。 这是每一天的完整书面数字,以免造成拼写混乱。 First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Nineth, Tenth, Eleventh, …
10 code-golf  string  date 

3
420 <s> Blaze </ s> Golf It
这是一个非常简单的挑战,但是(我希望)是一个有趣的挑战。 任务 如果现在现在是月4,日是20,小时(在12小时制上)是4,分钟是20,或者分钟是4,第二秒是20,则打印此ascii艺术: . .:. :|: .:|:. ::|:: :. ::|:: .: :|:. .::|::. .:|: ::|:. :::|::: .:|:; `::|:. :::|::: .:|::' ::|::. :::|::: .::|:; `::|::. :::|::: .::|::' :::|::. :::|::: .::|::; `:::|::. :::|::: .::|::;' `::. `:::|::. :::|::: .::|::;' .:;' `:::.. `;::|::. :::|::: .::|::: ::::; `:::::. ':|::. :::|::: .::|:' ,::::;' `:::::. ':|:::::|:::::|:' :::::;' …

1
计算月相
介绍 tl; dr 在此挑战中,您必须计算给定日期的月相。 这项挑战的灵感来自游戏 心理社交视听实验 “ Superbrothers:Sword&Sworcery EP ”。在S:S&S EP中,月亮的阶段对冒险的结果很重要,因为某些事件仅在特定的时间点发生。 问题是:在特定日期出现哪个月相。每个主要阶段-从新月到第一季度到满月到第三季度-大约需要7.38天。整个月球周期大约为29.52天。基于这些值,存在各种计算方法。1个 输入值 基于公历的日期,在1970年1月1日至2116年12月31日之间。 您可以选择以下格式之一:yyyy-mm-dd,dd.mm.yyyy,dd/mm/yyyy,yyyymmdd或ddmmyyyy。 输出量 [0-7]根据此零索引数组输出月相索引: ['New moon', 'Waxing crescent', 'First quarter', 'Waxing gibbous', 'Full moon', 'Waning gibbous', 'Third quarter', 'Waning crescent`] 要求 您可以编写程序或函数。如果您使用匿名函数,请提供一个如何调用它的示例。 STDIN命令行参数,函数参数或最接近的等效参数都接受输入。 这是代码高尔夫球,因此最短答案以字节为单位。 不允许使用内置的或外部的库来计算月相。2 不允许出现标准漏洞。 测验 值是: date | index of the phase | illumination | …

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.