有趣的问题,如何把某一天的年月日表示为四个数字?

问一个有趣的问题:
每一天都可以用年份和月份表示,
比如2007年11月25号,
如果省去20,还剩下07年11月25号
这剩下的六个数字,是否可以用四个数字来表示呢?
利用月份只有01到12,日期只能从01到31的特点?

但要有一个要求就是:
通过最后转换成的四个数字,可以很简单的就转换回原来的某年某月某日,
并且四个数字和原来的六个数字是一一对应的关系,以免发生对应错误//


不能用其他的符号,只能用四个数字 ,并且只能是正数
说的也是,四个数字只能表示一万天,也就是27年左右,
这样吧,不考虑月份2007的前三位,只考虑年份的最后一位和月份和日期呢?
比如:7年11月25日

这样了只有十年的时间,四位数应该够表示的吧?

用四位数字表示7-11-26这样的日期:

ABCD四位数字:
第一位数字表年份,第二三四位表示月份日期。
比如07年1月12号:7112.
比如07年2月12号:7212.
比如07年3月12号:7312.
比如07年4月12号:7412.
比如07年5月12号:7512.
比如07年6月12号:7612.
比如07年7月12号:7712.
比如07年8月12号:7812.
比如07年9月12号:7912.

十月份,B用0表示:
比如07年10月12号:7012.

十一月份,B写1,CD为实际日期+31:
比如07年11月1号:7132.
比如07年11月2号:7133.
比如07年11月30号:7161.

十二月份,B写2,CD为实际日期+62:
比如07年12月1号:7263.
比如07年12月2号:7264.
比如07年12月31号:7293.

反过来,给定四位数字,年份为第一位;再看最后两位,如果在范围1-31,则月份为第二位数字,日期为最后两位;如果最后两位在范围32-62,则月份为11月,日期为最后两位减去31;如果最后两位在范围63-93,则月份为12月,日期为最后两位减去62.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-26
用四位数字表示7-11-26这样的日期:

ABCD四位数字:
第一位数字表年份,第二三四位表示月份日期。
比如07年1月12号:7112.
比如07年2月12号:7212.
比如07年3月12号:7312.
比如07年4月12号:7412.
比如07年5月12号:7512.
比如07年6月12号:7612.
比如07年7月12号:7712.
比如07年8月12号:7812.
比如07年9月12号:7912.

十月份,B用0表示:
比如07年10月12号:7012.

十一月份,B写1,CD为实际日期+31:
比如07年11月1号:7132.
比如07年11月2号:7133.
比如07年11月30号:7161.

十二月份,B写2,CD为实际日期+62:
比如07年12月1号:7263.
比如07年12月2号:7264.
比如07年12月31号:7293.

反过来,给定四位数字,年份为第一位;再看最后两位,如果在范围1-31,则月份为第二位数字,日期为最后两位;如果最后两位在范围32-62,则月份为11月,日期为最后两位减去31;如果最后两位在范围63-93,则月份为12月,日期为最后两位减去62.
第2个回答  2007-11-25
不行啊,一个世纪99年,每年按365天算,已经超过一万天了,不可能用四位数表示的啊。如果十年间的话还行
如果十年的话,第一位表示年份,如果是一到九月,第二位表示月份,三四位表示天;如果是十月以后,第二位分别是0、1、2,三四位用天数加上50。
如2005年3月3日,就是5303,第一位代表2005年,后两位小于50,所以第二位代表3月,后两位代表3日。
又如2007年10月20日,就是7070.第一位代表2007年,后两位大于50,所以第二位的0代表十月,70-50=20,即后两位代表20日本回答被提问者采纳
第3个回答  2007-11-29
用四位数字表示7-11-26这样的日期:

ABCD四位数字:
第一位数字表年份,第二三四位表示月份日期。
比如07年1月12号:7112.
比如07年2月12号:7212.
比如07年3月12号:7312.
比如07年4月12号:7412.
比如07年5月12号:7512.
比如07年6月12号:7612.
比如07年7月12号:7712.
比如07年8月12号:7812.
比如07年9月12号:7912.

十月份,B用0表示:
比如07年10月12号:7012.

十一月份,B写1,CD为实际日期+31:
比如07年11月1号:7132.
比如07年11月2号:7133.
比如07年11月30号:7161.

十二月份,B写2,CD为实际日期+62:
比如07年12月1号:7263.
比如07年12月2号:7264.
比如07年12月31号:7293.

反过来,给定四位数字,年份为第一位;再看最后两位,如果在范围1-31,则月份为第二位数字,日期为最后两位;如果最后两位在范围32-62,则月份为11月,日期为最后两位减去31;如果最后两位在范围63-93,则月份为12月,日期为最后两位减去62.
第4个回答  2007-12-01
先编号四位数的数位ABCD。其中:A表示年份(其实就是年份的末位)。如要表示二十世纪九十年代,则1990年用0表示,1992年用2表示,1997年用7表示,各年依此类推。BC表示月份,并包含部分日的信息,由于有日的信息,所以和日的表示一起说。D表示日期的个位。月日的表示:当日期是1~9时,BC就是月份的真实数字。如018就是1月8日,108就是10月8日。当日期是10~19时,BC为月份数加上12。如138表示1月18日,240表示2月10日。当日期是20~29时,BC为月份数加上24。如258表示1月28日,360表示12月20日。当日期是30或31时,BC为月份数加上36。如370表示1月31日,481表示12月31日。这样就可以表示十年时间了。方法比楼上的麻烦。。楼上高人。。