当前位置: 代码迷 >> J2EE >> 给一个指定的日期时间“2011-10-18 15:24:25”,加上小时分钟(如10小时,40分钟),怎么计算相加之后的日期时间
  详细解决方案

给一个指定的日期时间“2011-10-18 15:24:25”,加上小时分钟(如10小时,40分钟),怎么计算相加之后的日期时间

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

------解决方案--------------------
先转为 Date , 在转换成 calendar
------解决方案--------------------
Java code
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();        }
------解决方案--------------------
Java code
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();        }    }}
------解决方案--------------------
下面是有时间相加的,其实不是一定要用Calendar的
Java code
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();        }    }}
------解决方案--------------------
顶4楼 正解

------解决方案--------------------
如果再添加10小时,加上这一行
Java code
c.add(Calendar.HOUR_OF_DAY,10);
------解决方案--------------------
Java code
    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();        }    }
  相关解决方案