如何将字符串转换为整数

时间:2013-06-06 07:05:21

标签: java string integer simpledateformat

如何将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

2 个答案:

答案 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的价值?如果它将是所有数字,那么你现在正在做的就足够了。