给一个指定的日期时间“2011-10-18 15:24:25”,加上小时分钟(如10小时,40分钟),如何计算相加之后的日期时间?
我用到calendar类,不知如何将字符串“2011-10-18 15:24:25”,转化为long形;
请高手指教,谢谢!

解决方案 »

  1.   

    先转为 Date   , 在转换成  calendar
      

  2.   


    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
    try {
    Date date = format.parse("2011-10-18 15:24:25");
    System.out.print(date.getTime());
    } catch (ParseException e) {
    e.printStackTrace();
    }
      

  3.   

    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.text.ParseException;
    import java.util.Date;public class CalendarDemo1 {
        public static void main(String[] args) {
            String timeStr="2011-10-18 15:24:25";
            DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date=null;
            long timeLong=0;
            try{
                date=df.parse(timeStr);
                timeLong=date.getTime();
                System.out.println("long:"+timeLong);
            }catch(ParseException e){
                e.printStackTrace();
            }    }
    }
      

  4.   

    下面是有时间相加的,其实不是一定要用Calendar的
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.text.ParseException;
    import java.util.Date;
    import java.util.Calendar;
    public class CalendarDemo1 {
        public static void main(String[] args) {
            String timeStr="2011-10-18 15:24:25";
            DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date=null;
            long timeLong=0;
            long timeAdded=0;
            try{
                date=df.parse(timeStr);
                timeLong=date.getTime();
                System.out.println("long:"+timeLong);
                Calendar c=Calendar.getInstance();
                c.setTime(date);
                c.add(Calendar.MINUTE,40);
                timeAdded=c.getTimeInMillis();
                System.out.println("Added time:"+c.getTime());
                System.out.println("Added 40 minutes:"+timeAdded);
            }catch(ParseException e){
                e.printStackTrace();
            }    }
    }
      

  5.   

    如果再添加10小时,加上这一行c.add(Calendar.HOUR_OF_DAY,10);
      

  6.   


    public static void main(String[] args) {
    try {
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = format.parse("2011-10-18 15:24:25");
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    c.add(Calendar.HOUR_OF_DAY, 10);
    c.add(Calendar.MINUTE, 40); String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c
    .getTime());
    System.out.println(s); } catch (Exception e) {
    e.printStackTrace();
    } }