对于公历,日期格式因国家/地区而异。公认的三种主要格式:
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
这是代码高尔夫球,因此以字节为单位的最短代码获胜。鼓励解释。
3
您可能应该使用2月31日添加一个测试用例,以确保答案支持该怪异的情况:P
—
ETHproductions's
我们可以为三种有效格式输出任何三个不同的值,还是必须是这三个确切的字符串?
—
ETHproductions's
there are 31 days for every month of the year, and consequently no leap years
那么,这意味着任何日期库实际上都对此没有用吗?
@TheLethalCoder是的,大多数日期库可能无法使用。
—
吉姆(Jim)