如何将日期转换为 int 数组?
how to convert date to int array?
我想制作 hours
和 minutes
数组,19:49
应该包含
hours[0] = 1
hours[1] = 9
minutes[0] = 4
minutes[1] = 9
问题是当我执行代码时:
Calendar rightNow = Calendar.getInstance();
String hour[] = String.valueOf(rightNow.get(Calendar.HOUR_OF_DAY)).split("");
String minute[] = String.valueOf(rightNow.get(Calendar.MINUTE)).split("");
当我打印这个时
System.out.println(hour[0] + ""+hour[1] + ":" + minute[0] +""+minute[1]);
我有这个输出 1:4
,但它应该是 19:49
更新:我正在使用 1.7 JDK 并形成我看到的 hour[2]
包含 9
和 minute[2]
9
.
pre-Java-8 中的问题是当我们 split(delimiter)
字符串像
delimiter[Data]delimiter[Data]delimiter[Data]
我们将得到结果数组
"", "[Data]", "[Data]", "[Data]"
在你的例子中,分隔符是空字符串""
,空字符串不仅存在于字符之间,而且存在于字符串的开头和结尾。
要解决此问题,您可以使用 split("(?!^)")
,只要它后面没有字符串开头 (^
),它就会在每个位置拆分(不包括开头的空字符串)你的文字)。
在 Java 8 中,此行为已更改:Why in Java 8 split sometimes removes empty strings at start of result array?
嗯,我猜你要找的是这样的东西
int[] hour = new int[2];
int[] minute = new int[2];
Calendar rightNow = Calendar.getInstance();
int tempHour = rightNow.get(Calendar.HOUR_OF_DAY);
int tempMin = rightNow.get(Calendar.MINUTE);
hour[0] = (int)Math.floor(tempHour/10);
hour[1] = tempHour%10;
minute[0] = (int)Math.floor(tempMin/10);
minute[1] = tempMin%10;
System.out.println(hour[0] + "" + hour[1] + ":" + minute[0] + "" + minute[1]);
我想制作 hours
和 minutes
数组,19:49
应该包含
hours[0] = 1
hours[1] = 9
minutes[0] = 4
minutes[1] = 9
问题是当我执行代码时:
Calendar rightNow = Calendar.getInstance();
String hour[] = String.valueOf(rightNow.get(Calendar.HOUR_OF_DAY)).split("");
String minute[] = String.valueOf(rightNow.get(Calendar.MINUTE)).split("");
当我打印这个时
System.out.println(hour[0] + ""+hour[1] + ":" + minute[0] +""+minute[1]);
我有这个输出 1:4
,但它应该是 19:49
更新:我正在使用 1.7 JDK 并形成我看到的 hour[2]
包含 9
和 minute[2]
9
.
pre-Java-8 中的问题是当我们 split(delimiter)
字符串像
delimiter[Data]delimiter[Data]delimiter[Data]
我们将得到结果数组
"", "[Data]", "[Data]", "[Data]"
在你的例子中,分隔符是空字符串""
,空字符串不仅存在于字符之间,而且存在于字符串的开头和结尾。
要解决此问题,您可以使用 split("(?!^)")
,只要它后面没有字符串开头 (^
),它就会在每个位置拆分(不包括开头的空字符串)你的文字)。
在 Java 8 中,此行为已更改:Why in Java 8 split sometimes removes empty strings at start of result array?
嗯,我猜你要找的是这样的东西
int[] hour = new int[2];
int[] minute = new int[2];
Calendar rightNow = Calendar.getInstance();
int tempHour = rightNow.get(Calendar.HOUR_OF_DAY);
int tempMin = rightNow.get(Calendar.MINUTE);
hour[0] = (int)Math.floor(tempHour/10);
hour[1] = tempHour%10;
minute[0] = (int)Math.floor(tempMin/10);
minute[1] = tempMin%10;
System.out.println(hour[0] + "" + hour[1] + ":" + minute[0] + "" + minute[1]);