当前时间 new java.util.Date()

解决方案 »

  1.   

    这种问题估计会解答的人太多了,都大同小异。。
    俺来提供一个稀奇的方法好了代码就不写了。
    (1) 得到当前时间Date
    (2) 用SimpleDateFormat.(java.text)根据Date得到当前的年,月
    (3) 计算本月第一天:年月已知,日是1日(每个月都是1日起),时分秒就是00:00:00
    (4) 计算本月最后一天:
        先计算下个月第一天,把月加1,看看是否年需要进位.
        然后把下月第一天00:00:00时刻减去一秒就是本月最后一天的Date对象了。
        再用上述方法得到日就可以了。@see SimpleDateFormat#parse(String)
    @see SimpleDateFormat#format(Date)对了声明下,效率很低的
      

  2.   

    Calendar c = Calendar.getInstance();
    c.set(c.YEAR, 2001);
    c.set(c.MONTH, 1);

    System.out.println(c.getActualMaximum(c.DAY_OF_MONTH));
    System.out.println(c.getActualMinimum(c.DAY_OF_MONTH));
      

  3.   

    public static Date getLastDayOfMonth(Date sDate1) {
        Calendar cDay1 = Calendar.getInstance();
        cDay1.setTime(sDate1);
        final int lastDay = cDay1.getActualMaximum(Calendar.DAY_OF_MONTH);
        Date lastDate = cDay1.getTime();
        lastDate.setDate(lastDay);
        return lastDate;
    }
      

  4.   

    获取当前时间比较容易:
    import java.util.*;
    public class Time
    {
    public static void main(String[] args)
    {
    GregorianCalendar d= new GregorianCalendar();
    int hour=d.get(Calendar.HOUR_OF_DAY);
    int min=d.get(Calendar.MINUTE);
    int sec=d.get(Calendar.SECOND);
    System.out.println("Time is: "+hour+":"+min+":"+sec);
    }
    }
    获取当月的第一天和最后一天程序如下,其中firstday,lastday分别表示该月的第一天和最后一天:
    import java.util.*;
    public class Days
    {
    public static void main(String[] args)
    {
    int firstday,lastday;
    GregorianCalendar d= new GregorianCalendar();
      int month=d.get(Calendar.MONTH);
       firstday=1;
      do
      {
      lastday=d.get(Calendar.DAY_OF_MONTH);
      d.add(Calendar.DAY_OF_MONTH,1);
        }
      while(d.get(Calendar.MONTH)==month);
       System.out.println("firstday="+firstday+"   "+"lastday="+lastday);
    }
    }我刚开始学java,写的程序比较长,献丑了!!!
      

  5.   

    cold_blooded(小熊) 的方法已经很好了吧?
      

  6.   

    这里的  1  指的是 2 月 ,是月份 - 1
    --------------------------
    c.set(c.MONTH, 1);
      

  7.   

    可以处理闰月
    ------------------------------------------
    cold_blooded(小熊):
     Calendar c = Calendar.getInstance();
     c.set(c.YEAR, 2001);
     c.set(c.MONTH, 1);
     System.out.println(c.getActualMaximum(c.DAY_OF_MONTH));
     System.out.println(c.getActualMinimum(c.DAY_OF_MONTH));