仅使用数学运算从MMDDYYYY格式输入中提取月、日、年
从MMDDYYYY格式数值中拆分年月日的实现方法
实现逻辑
MMDDYYYY格式的数值结构为「2位月份+2位日期+4位年份」,配合整数除法//和取模%即可完成拆分,具体逻辑如下:
- 年份是整个数值的最后4位,直接对10000取模即可提取
- 先通过整数除法去掉最后4位年份,得到前N位的「月份+日期」组合
- 从月日组合中整除100得到月份,对100取模得到日期,该写法同时兼容输入带前导零、转int后位数不足8位的场景
完整代码示例
MMDDYYYY = int(input("enter")) year = MMDDYYYY % 10000 mm_dd = MMDDYYYY // 10000 month = mm_dd // 100 day = mm_dd % 100
验证示例
输入数值12312024(对应12月31日2024年),运行代码后得到:
month = 12day = 31year = 2024
如果需要用你之前尝试的取模得到后六位的思路实现,也可以用以下写法,结果完全一致:
MMDDYYYY = int(input("enter")) month = MMDDYYYY // 1000000 rest = MMDDYYYY % 1000000 day = rest // 10000 year = rest % 10000
内容的提问来源于stack exchange,提问作者Ahmed Ali
相关产品推荐
相关产品推荐

