我有一个程序将日期从数字月/日/年格式转换为正常格式(例如2010年12月31日).
我不想导入任何东西,或使用日期对象来进行我正在做的事情.
在继续寻找每年的最大天数之前,我正试图按月完成.我试图将月份与天数相匹配(省略2月,因为它取决于它是否为闰年).
这不适合我.我认为这是因为格式.
try {
if (m == 1 && (d > 31 || d < 1)) { // jan
} else if (m == 3 && (d > 31 || d < 1)) { // mar
} else if (m == 4 && (d > 30 || d < 1)) { // apr
} else if (m == 5 && (d > 31 || d < 1)) { // may
} else if (m == 6 && (d > 30 || d < 1)) { // june
} else if (m == 7 && (d > 31 || d < 1)) { // july
} else if (m == 8 && (d > 31 || d < 1)) { // aug
} else if (m == 9 && (d > 30 || d < 1)) { // sept
} else if (m == 10 && (d > 30 || d < 1)) { // oct
} else if (m == 11 && (d > 30 || d < 1)) { // nov
} else if (m == 12 && (d > 31 || d < 1)) // dec
throw new DayException(day);
} catch (Exception e) {
throw new DayException(day);
}
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来验证这一天?
假设目前你不关心闰年,你可以做这样的事情.
int[] daysInMonth = new int[] { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (day < 1 || day > daysInMonth[month]){
throw new DayException(day);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |