如果在程序中有人给我天数(ab =“days”),我需要将变量“days”设置为相同的数字(“val”中的值),如果有人给我月份( ab="months") 那么我需要将('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
而且你应该意识到这不是一个简单的问题。日期和时间具有微妙的细微差别,这些细微差别会导致令人费解的错误,如下所示:
Why is subtracting these two times (in 1927) giving a strange result?
这里
Java string to date conversion
此外,请注意,并非地球上的每个人都使用我们大多数英语使用者所使用的公历。除了具有不同天数和闰年的月份之外,还有一些有趣的神秘问题,例如闰秒。还有一些系统自 1970 年 1 月 1 日起以毫秒为单位测量时间,但不提供修正信息。当这些不同的系统变成文档中的字符串并被读入使用不同系统的计算机时,尝试找出错误所在是非常有趣的。
简而言之,您的问题的答案超出了堆栈溢出答案的范围。可以这么说,远离 java.util.Date
并使用 java.util.Calendar
即可。 Date will break your heart 。
关于java - 在java中将月份和年份转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965517/