Questions tagged «date»

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

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

10
警报优化
我的闹钟 我是美国人,我的(数字)闹钟也是如此。要设置警报,它从先前的时间开始。按下小时按钮将其向上移动一小时,而按下分钟按钮将其向上移动一分钟。同时按下两个按钮会将其重置为午夜(上午12:00),并计为两次按下按钮。 当小时数超过上限(12)时,它将重置为1并切换AM / PM指示灯。当分钟数超过上限(59)时,它们将重置为0,而不会影响小时数。 任务 给定开始时间和目标时间,您的任务是输出将我的闹钟设置为目标时间所需的最佳按钮按下次数。 您可以采用最适合您的格式输入。对于这两个输入,程序唯一需要的数据是小时和分钟。举例来说,这意味着您可能会以大纪元以来的毫秒数为单位来提取数据,并提取小时和分钟,但是您可能无法在年,月,秒等中进行任何编码。请注意,尽管您可能会使用“军事时间”(或世界上大部分时间的常规时间),但这不会改变我的时钟的工作方式。 例子 1:15 pm -> 2:30 am 您可以同时按下两个按钮以将其重置为12:00 am,然后增加至2:30 am,即2+2+30 = 34按下按钮。您也可以增加到凌晨2:30,这就是13+15 = 28按下按钮。因此,您的输出为28。 3:58 am -> 4:02 am 您可以重置和递增,这将是2+4+2 = 8按下按钮。您也可以增加1+4 = 5按钮的数量。因此,您的输出为5。 10:55 pm -> 1:00 am 您可以重置和递增,这将是2+1 = 3按下按钮。您也可以增加3+5=8按钮的数量。因此,您的输出为3。 1:00 am -> 1:59 pm 您可以重设和递增,但不仅仅是递增,还要多按三下。因此,您的输出为12+59 = 71。 测试用例 Current Target …

19
将微秒的格式设置为小时:分钟:秒等
以下内容受到今天Stack Overflow提出的一个问题的启发。 给定一个微秒数,0 <= n <= 86400000000(例如12345678900),输出格式化的字符串hh:mm:ss:000:000,例如03:25:45:678:900。 0 -> '00:00:00:000:000' 12345678900 -> '03:25:45:678:900' 86400000000 -> '24:00:00:000:000' 我有209个字节的Python解决方案,但是它可以降低一点吗?
28 code-golf  date 

19
飞跃秒!
由于今天标志着有史以来第26个leap秒的发生,因此您的挑战将是输出迄今为止已发生的GMT或UTC中每leap秒的日期和时间。 输入值 没有输入。 输出量 1972-06-30 23:59:60 1972-12-31 23:59:60 1973-12-31 23:59:60 1974-12-31 23:59:60 1975-12-31 23:59:60 1976-12-31 23:59:60 1977-12-31 23:59:60 1978-12-31 23:59:60 1979-12-31 23:59:60 1981-06-30 23:59:60 1982-06-30 23:59:60 1983-06-30 23:59:60 1985-06-30 23:59:60 1987-12-31 23:59:60 1989-12-31 23:59:60 1990-12-31 23:59:60 1992-06-30 23:59:60 1993-06-30 23:59:60 1994-06-30 23:59:60 1995-12-31 23:59:60 1997-06-30 23:59:60 1998-12-31 23:59:60 2005-12-31 23:59:60 …

30
每年13号星期五星期五?
您的挑战是编写一个程序,该程序在给定的一年内输出其中的“星期五13日”数字。 规则和详细信息: 您可以通过STDIN或作为传递给程序的参数来接受输入。 您应该将结果输出到STDOUT。 您可以假定输入将是有效年份,并且未提前输入公历(在这些情况下允许未定义的行为)。 日历/日期库是允许的。 这是一个代码高尔夫球,因此最短的代码(以字节为单位)获胜。 (相关挑战链接)
28 code-golf  date 

24
设定时间
想象以下可以通过箭头键控制的24小时制时钟: ╔══╗ ┌──┐ ║00║:│00│ ╚══╝ └──┘ HH mm 两次按向上箭头(↑↑)将增加当前关注的小时输入: ╔══╗ ┌──┐ ║02║:│00│ ╚══╝ └──┘ HH mm 按向右箭头(→)将聚焦其他输入。 ┌──┐ ╔══╗ │02│:║00║ └──┘ ╚══╝ HH mm 现在,按三次向下箭头(↓↓↓)将减少此输入。 ┌──┐ ╔══╗ │02│:║57║ └──┘ ╚══╝ HH mm 简而言之: 向上箭头(↑)将增加当前活动的输入。 向下箭头(↓)将减少有效输入。 右箭头(→)将焦点移至右输入。 左箭头(←)将焦点移到左输入。 上下运动将按预期的时间循环输入。 左右运动不会循环。 挑战 时钟从00:00小时输入激活开始(请参见第一个原理图)。给定输入命令列表,以HH:mm格式输出结果时间。 输入可以是字符串或列表(或等效语言),其中不同的输入方向可以是以下选项之一: ↑↓←→ udlr ^v<> 如果您的程序具有GUI,则按实际的箭头键 有标准漏洞。 测试用例 ↑↑→↓↓↓ = …
27 code-golf  date 

30
打印2017年的所有星期日
在下面的格式打印所有周日的日期在2017年:dd.mm.yyyy。 预期产量: 01.01.2017 08.01.2017 15.01.2017 22.01.2017 29.01.2017 05.02.2017 12.02.2017 19.02.2017 26.02.2017 05.03.2017 12.03.2017 19.03.2017 26.03.2017 02.04.2017 09.04.2017 16.04.2017 23.04.2017 30.04.2017 07.05.2017 14.05.2017 21.05.2017 28.05.2017 04.06.2017 11.06.2017 18.06.2017 25.06.2017 02.07.2017 09.07.2017 16.07.2017 23.07.2017 30.07.2017 06.08.2017 13.08.2017 20.08.2017 27.08.2017 03.09.2017 10.09.2017 17.09.2017 24.09.2017 01.10.2017 08.10.2017 15.10.2017 22.10.2017 29.10.2017 05.11.2017 12.11.2017 19.11.2017 26.11.2017 …

30
12小时至24小时时间转换器
令人惊讶的是,这个简单的任务似乎还不存在,所以... 您的任务是编写一个程序,该程序将12小时时间作为输入,并将其转换为“军事时间”或24小时时间格式。 输入将采用以下形式: HH:MM am/pm 尽管可以有一些细微的变化: 上午/下午与其余时间之间的间隔是可选的。 最后一部分可以是“ am” /“ pm”或“ a” /“ p”。 任何大写字母都可以。 输出将是输入的时间,转换为24小时格式。它可以是数字或字符串。 对于输入和输出: 首先的0是可选的。最后3个位必须为0。 分隔小时和分钟的定界符可以是“:”,“”(空格)或什么都不是。 其他说明: 午夜可以表示为0000或2400。 午夜将被视为“上午”,而中午将被视为“下午”。 您的程序可以是函数,也可以是完整程序,应返回结果或将其输出到标准输出。尾随空格可以。 示例(不需要支持每种格式): 12:00am -> 0000 1200 pm -> 1200 1234Am -> 00:34 134a -> 134 01:34PM -> 13 34 1234pm -> 1234 这是代码高尔夫,因此最少的字节数获胜。由于使用内置程序解决此问题非常简单,因此很高兴看到一些手动解决此问题的代码(但使用内置程序很好)。 只是为了澄清,你是不是需要支持每一个可能的格式。仅支持单个输入和单个输出格式(您选择)就可以了。但是,我想限制上面概述的格式(它已经相当免费了)。{1134,'pm'}例如,这将是不可接受的。

24
英国脱欧何时发生?
好吧,英国退欧发生了。天才新闻(Sky News)是他们的天才,他们决定在公交车旁创建倒计时。 您的工作是做类似的事情。英国于2019年3月31日离开欧盟,您必须为此创建一个数字倒计时,该倒计时每秒更改一次(允许0.05秒偏差)。 输入项 您的程序绝对不应输入。它被禁止! 输出量 它应以格式输出英国脱欧之前的时间ddd:hh:mm:ss。允许使用换行符开头和结尾,但每次显示都应留在同一位置。看起来好像它实际上已经到位了。正如@AnthonyPham所指出的,这并不意味着要打印足够的换行符来“清除”屏幕,这意味着您实际上必须清除屏幕。 不允许这样的输出: 100:20:10:05 100:20:10:04 这也不是 100:20:10:05 *A thousand newlines* 100:20:10:04 因为他们不在一条线上。 英国退欧后,您不必担心。您的程序最多只能运行31/3/2019 规则 不允许出现标准漏洞 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 错误消息(尽管我不认为如何)是不允许的 该代码应能够在2年内运行(英国退出欧盟时),并且应该显示实际时间,而不是再次从730开始(请参见下文) 倒数规则 倒计时不应硬编码,并且应该能够在英国退欧结束之前的任何时间运行,并且仍会产生正确的结果。新的一天开始时,小时应遵循以下格式 712:00:00:01 712:00:00:00 711:23:59:59 我再说一遍,为方便起见,英国退欧的结束日期是午夜31/3/2019(31:3:19 00:00:00或31:3:2019 00:00:00或您想要的任何其他格式) NB:我想我拥有所有东西,但是我没有在沙盒中发布,否则可能已经不合时宜了。随意发布任何改进建议,因为它并不完美。
27 code-golf  date 

18
旋转对称数
给定一个整数,如果它是相同的上下颠倒(旋转180°),则输出真实值,否则输出虚假值。 0,1并且8具有旋转对称性。6成为9,反之亦然。 产生真实结果的数字序列:OEIS A000787 0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, …
27 code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

30
最后一个星期一
10月31日,星期一,是万圣节。这让我开始思考-我想知道该月的最后一天也是星期一吗? 输入项 任何表示年份的方便格式的正整数,10000 > y > 0。 如果需要,可以用零填充输入(例如,0025年份25)。 输出量 该年的月份列表,其中月份的最后一天是星期一。 只要对读者而言,这可以是月份名称(例如January, March, October),短名称(Jan, Mar, Oct)或数字(1, 3, 10),单独的行,列表或定界符等。 输出格式必须一致: 对于所有年份的输入(这意味着,您不能输出某些输入的月份名称,而其他输出的月份编号) 以及每个输出是一致的(意思是,你不能输出1对于January在相同的输出Jul为July) 基本上,选择一种格式并坚持下去。 规则 假设输入/输出为公历,甚至到y = 1。 properly年必须适当地考虑(提醒一下:每年除以4的年份,除非不是除以100的年份,除非也除以400的年份-并非除以leap年,而2000则不是leap年)。 您可以使用任何喜欢的内置工具或其他日期计算工具。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 1 --> Apr, Dec 297 --> May 1776 --> Sep 2000 --> Jan, Jul 2016 --> Feb, Oct 3385 …
27 code-golf  date 

30
几号?
挑战 奇怪的是,这还没有完成:输出当前日期。 规则 您应遵循的日期格式如下: YYYY-MM-DD 如果月份和日期小于10,则该月份和日期应以零填充。 例如,如果程序在2017年5月24日运行,则应输出 2017-05-24 该日期可以始终为UTC或本地日期。 您必须应对leap年。例如,在leap年中,二月有29天,但在正常年份中有28天。 获奖 以字节为单位的最短代码获胜。
26 code-golf  date 

6
计算RFC 2550时间戳
RFC 2550是一个讽刺性提案(于1999年4月1日发布),其时间戳可以节省空间的ASCII表示形式,可以支持任何日期(甚至包括在Universe开始之前的日期以及在Universe预计结束之后的日期)。用于计算符合RFC 2550时间戳是作为算法如下(注意:所有范围包括开始,但排除端- 0至10000的所有的装置n,其中0 <= n < 10000): 年份格式 0到10,000年:一个四位数的十进制数字,在左边用零填充。 10,000到100,000年:5位数的十进制数字,以字符A为前缀。 100,000至10 30年:年份的十进制数字,以大写ASCII字母为前缀,其英文字母的索引等于十进制年份的位数,减5(B代表6位数字的年份,C代表7的年份)位数年份等)。 10 30到10 56年:与10,000到10 30相同的格式,以A开头的字母,并^在字符串前面加上插入号()(因此,10 30表示为^A1000000000000000000000000000000,10 31表示为通过^B10000000000000000000000000000000)。 10 56到10 732年:年份以两个插入符号和两个ASCII大写字母为前缀。大写字母组成一个以26为基数的数字,代表年份中的数字数量,减去57。 10 732年及以后:使用10 56到10 732的相同格式,并在必要时通过添加附加的脱字号和大写字母来扩展格式。 BCE年(0年之前):计算年的绝对值的年字符串。然后,将所有字母替换为其以26为底的补码(A <-> Z,B <-> Y等),将所有数字替换为其以10为底的补码(0 <-> 9、1 <-> 8,等),并用感叹号(!)替换插入符号。如果年份字符串是4位或更少(即-1到-10,000),请在正斜杠(/)之前加上。如果年份字符串未以正斜杠或感叹号作为前缀,请在星号(*)前面加上。 月,日,小时,分钟和秒:由于这些值最多只能是2位数字,因此它们按重要性的降序简单地附加在年份字符串的右边,并在必要时用零填充2位数字的字符串。 更高的精度:如果需要更高的精度(以毫秒,微秒,纳秒等形式),则将这些值用0到3位数字进行左填充(因为每个值都是1/1000前一个值,因此最多为999)。并以重要性从小到大的顺序附加到时间戳的末尾。 这种格式的优点是词法排序等效于相应时间戳的数字排序-如果时间A在时间B之前,那么当应用词法排序时,A的时间戳将在B的时间戳之前。 挑战 给定任意长的数字列表(例如[year, month, day, hour, minute, second, millisecond],按重要性从高到低的顺序对应于时间值),请输出相应的RFC 2550时间戳。 规则 解决方案必须适用于任何给定的输入。唯一的限制应该是时间和可用内存。 输入可以采用任何合理,方便的格式(例如,数字列表,字符串列表,由单个非数字字符分隔的字符串等)。 …
26 code-golf  string  date 

8
将日期转换为xkcd表示法
在关于ISO 8601标准日期格式的 xkcd中, Randall用一种非常奇怪的替代表示法偷偷摸摸地: 大数字是以当前顺序显示在当前日期中的所有数字,小数字是该数字出现的基于1的索引。因此,以上示例表示2013-02-27。 让我们为这种日期定义一个ASCII表示形式。第一行包含索引1到4。第二行包含“大”数字。第三行包含索引5到8。如果在一个插槽中有多个索引,则它们从最小到最大依次列出。如果m单个插槽中最多有索引(即,在同一数字上,并且在同一行中),则每一列应为m+1字符宽度且左对齐: 2 3 1 4 0 1 2 3 7 5 67 8 另请参见伴随挑战,以获得相反的转化。 挑战 给定ISO 8601日期(YYYY-MM-DD),输出相应的xkcd日期表示法。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 从0000到的任何一年9999都是有效的输入。 允许使用尾随空格,不允许使用前导空格。您可以选择输出一个尾随换行符。 适用标准代码高尔夫球规则。 测试用例 2013-02-27 2 3 1 4 0 1 2 3 7 5 67 8 2015-12-24 2 3 1 4 0 1 2 4 5 …

3
合并100岁生日
我最近将自己以及我的妻子和孩子的年龄相加,并意识到在不久的将来,我们的年龄总和将恰好达到100岁。 挑战 对于由合并的(总计)年龄和出生日期列表组成的输入,请输出所有合并年龄加起来等于给定总数的日期。 输入的合并年龄(以年为单位)将为正整数 输入的出生日期列表将是日期列表(无论哪种格式对您的语言来说都是方便的),日期列表必须包含日,月和年的数字表示形式。自特定纪元以来的天数,该数值不可接受。您可以假设输入日期列表按时间顺序排序。 输出将是单个日期,格式与输入日期相同 就合并年龄而言,一年即被视为365.25天 对于某些输入,将不可能找到所有出生日期之后的日期,如果它们都加起来等于合计年龄。例如,考虑两个相隔20年的出生日期,但我们希望相加10年。在这种情况下,输出将是较早出生日期的10岁生日。换句话说,对于该人的出生日期之前的所有日期,其年龄均为0 输出将是组合年龄加起来至少等于输入年龄的第一个日期 您可以使用内置的日期时间功能 您必须支持可追溯到1970/01/01的日期。 例子 在这里,我以YYYY / MM / DD格式给出所有日期,但是您可以选择任何格式。 Input Output 10 2000/01/01 2010/01/01 100 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2018/11/22 100 1975/03/06,1978/07/23,2008/11/12,2012/12/20 2018/11/23 100 1975/03/09,1978/07/23,2008/11/12,2012/12/20 2018/11/23 100 1975/03/10,1978/07/23,2008/11/12,2012/12/20 2018/11/24 3 1990/08/01,1995/07/02 1993/08/01 50 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2001/11/13 请注意,在最后两个示例中,根据规则5,输出日期位于输入日期的范围内。
26 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.