如何将newValue2
转换为Integer
,因为我将在if语句中使用它?
try {
toDate=format2.parse(string1);
java.util.Date newValue= new SimpleDateFormat(oldf).parse(string1);
String newValue2 = new SimpleDateFormat(newf).format(newValue);
int qwe = Integer.parseInt(newValue2);
if (qwe < 8){
String fixtime = ("08:00 PM");
DateTime dateTime3 = dtf.parseDateTime(fixtime.toString());
Period period = new Period(dateTime3, dateTime2);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendHours().appendSuffix(".")
.appendMinutes().appendSuffix("")
.toFormatter();
String elapsed = formatter.print(period);
table_4.setValueAt(elapsed,0,3);
}
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
我尝试修改它只是为了看到newValue2
的输出:
try {
toDate=format2.parse(string1);
java.util.Date newValue= new SimpleDateFormat(oldf).parse(string1);
String newValue2 = new SimpleDateFormat(newf).format(newValue);
System.out.println (newValue2);
// int qwe = Integer.parseInt(newValue2);
// System.out.println(qwe);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
要输出的示例数据:
07:00 AM
System.out.println(newValue2);
07.00 0
答案 0 :(得分:1)
基于此代码:
String newValue2 = new SimpleDateFormat(newf).format(newValue);
int qwe = Integer.parseInt(newValue2);
... newValue2
很可能实际上是一些更复杂的日期字符串,因此无法解析为Integer
。由于newValue
实际上是Date
对象,因此您很可能直接从Date对象获取您感兴趣的int
日期字段,或者更恰当地使用{ {3}}
修改强>
根据最近的编辑,这可能是你想要的:
Calendar calendar = Calendar.getInstance();
calendar.setTime(newValue);
int qwe = calendar.get(Calendar.HOUR);
P.S。如果你使用更清晰,更明智的变量名,可以从你的代码中推断出更多的理解。
答案 1 :(得分:0)
基于您的代码newValue2
,是一个包含SimpleDateFormat.format()
值的字符串。你能否展示newf
的价值?如果它将是所有数字,那么你现在正在做的就足够了。