[英]Converting months and years to date in java
如果在程序中有人给了我几天(ab =“ days”),如果有人给了我几个月(ab =“几个月”),那么我需要将其转换(以“ val”为单位的值)成天,如果有人给我几年(ab =“ years”),那么我需要将其转换为(以“ val”的值)成天。 即,如果用户在变量“ ab”中指定值的类型(即是月,年还是日期)和变量“ val”中的(天/月/年的天数),则需要获取变量“天”。
例如ab =“ years”且val = 3,则天数是1095(近似值)。
我尝试了如下。 解决上述问题是否正确? 提前致谢。
public class conversionofdate {
public static void main(String args[]) {
String ab = "days";
int val = 0, days, month = 0, years = 0;
switch (ab) {
case "days":
days = val;
break;
case "months":
days = val * 30;
break;
case "years":
days = val * 12 * 30;
break;
default:
System.out.println("Incorrect value");
}
}
}
因此,您想跟踪Java中的时间。 您应该先阅读以下内容:
https://docs.oracle.com/javase/tutorial/datetime/iso/index.html
您应该意识到,这不是一个简单的问题。 日期和时间的细微差别会导致错误提示,如下所示:
和这里
另外,请注意,并非我们星球上的每个人都使用公历,我们大多数英语国家的人都使用公历。 除了具有不同天数和leap年的月份外,还存在一些有趣的奥秘问题,例如leap秒。 自1970年1月1日以来,还有一些以毫秒为单位的时间测量系统,没有给出校正的数字。 尝试弄清错误所在的位置,这是很光荣的事情,当这些不同的系统被转换成文档中的字符串,并被读取到使用不同系统的计算机中时,错误就在那里。
简而言之,您的问题的答案超出了堆栈溢出答案中可以做到的合理范围。 只需说,只需远离java.util.Date
并使用java.util.Calendar
。 约会会让你伤心 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.