java 
1.获取当前时间,
2.怎么计算得到延迟3小时候的时间,
换算的过程

解决方案 »

  1.   

    没太明白。你是想在1、的结果上加三小时?还是你的系统有时差需要NTP?
      

  2.   

    Calendar calendar = Calendar.getInstance();
    calendar.roll(Calendar.HOUR_OF_DAY,3);
    Date date = calendar.getTime();
      

  3.   

    Calendar calendar = Calendar.getInstance();
    Date now = calendar.getTime(); //or new Date();
      

  4.   


      Calendar calendar = Calendar.getInstance();
      Date now = calendar.getTime();
      calendar.add(Calendar.HOUR_OF_DAY,3);
      Date nextDate=calendar.getTime();
      

  5.   

    用roll不会改变前一个大字段,也就是说不会改变天的字段。
    如果是晚上11点的时间的话,应该得到的是第二天的时间。
    所以用add比较合适。!
      

  6.   

    我记得会改变的啊~Calendar cal = Calendar.getInstance();
    System.out.println(cal.getTime());
    cal.set(Calendar.HOUR_OF_DAY, 24);
    cal.set(Calendar.MINUTE, 60);
    System.out.println(cal.getTime());Wed Sep 01 15:01:44 CST 2010
    Thu Sep 02 01:00:44 CST 2010
      

  7.   

     
    public static void main(String[] args) {
         Calendar cal   = Calendar.getInstance();
         cal.add(Calendar.HOUR,3);  
      String threeHoursLater = new SimpleDateFormat( "HH:mm:ss").format(cal.getTime()).replaceAll(" ", "");
      System.out.println(threeHoursLater);
       }
      

  8.   

    /**
     * 日期加减天数、小时、分钟
     * @param dateYMDHMS - 日期字符串(格式为format指定的格式)
     * @param format - 指定dateYMDHMS的日期格式
     * @param unit - 日期加减的单位(可以是天数、小时、分钟)
     * @param amount - 要加减的数量
     * @return 返回加减后的日期(格式为format指定的格式)
     */
    public static String addDate(String dateYMDHMS, String format, String unit, int amount) {
    try { Calendar calendar = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    calendar.setTime(sdf.parse(dateYMDHMS));
    if (unit.equals("day") || unit.equals("days")) {
    calendar.add(Calendar.DAY_OF_YEAR, amount);
    } else if (unit.equals("hour") || unit.equals("hours")) {
    calendar.add(Calendar.HOUR_OF_DAY, amount);
    } else if (unit.equals("minute") || unit.equals("minutes")) {
    calendar.add(Calendar.MINUTE, amount);
    }
    return sdf.format(calendar.getTime()); } catch (Exception e) {
    e.printStackTrace();
    return "";
    }
    }