java日期详解

一:java中的时间

  java中的时间使用标准类库的Date类表示,java.util.Date类封装日期及时间信息。

例如:

public class DateTest {

    public static void main(String[] args) {
        Date date = new Date();            
        //系统当前日期及时间信息
        System.out.println(date);        
        //Wed Aug 14 10:42:06 CST 2019
        long time = date.getTime();        
        //获取1970年1月1日至今的毫秒数,返回为long类型值
        System.out.println(time);    
        date.setTime(1665750615841L);    
        //为Date对象设置其需要表示的时间,参数为一个long值,表示1970年1月1日至所表示时间的毫秒数
        System.out.println(date);
    }
}

二:Date重写toString()方法

  Date重写了toString方法,用一个不太友好的字符串来表示时间
   形如:Wed Aug 14 10:45:54 CST 2019

三:日期的格式化

  1:SimpleDateFormat用于格式化日期,实现Date(日期)和String(字符串)之间的相互转换。
     2:日期模式匹配字符串

  

  3:Date格式转化为字符串(String format(Date d))

例如:

public class DateGsh {

    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        String d = sdf.format(date);
        System.out.println(d);    //2019年08月14日
    }

}

  4:字符串转化为Date类型(Date  parse(String str))

例如:

public class DateGshStr {

    public static void main(String[] args) throws ParseException {
        String str = "2019年9月1日";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        //匹配格式应与定义字符串格式相匹配,SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss")与str格式不匹配,报错
        Date date = sdf.parse(str);
        System.out.println(date);
        
    }

}

四:Calendar类

   1:java.util.Calendar类用于封装日历信息。
      2:Calendar是抽象类,其提供的工厂方法Calendar getInstance()用于实例化Calender对象。
      3:使用void set(int field,int value)方法设置时间分量,其中field表示Calendar常量。

例如:

public class CalenderTest {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //创建Calendar实例,表示系统当前时间
        calendar.set(Calendar.YEAR, 2019);
        //设置年份为2019年
        calendar.set(Calendar.MONTH,8);
        //设置月份为8月
    }

}

   4:使用int get(int field)方法获取时间分量,其中field表示Calendar常量

例如:

public class CalendarGetTest {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //创建Calendar实例
        int year = calendar.get(Calendar.YEAR);
        //获取年份值
        System.out.println(year);

    }

}

   5:使用int getActualMaximum(int field)方法获取时间分量允许的最大值。
   6:使用void add(int field,int amount)方法对某个时间分量进行计算,amount为正表示增加,为负表示减少,且时间分量可以进位。
   7:使用void setTime(Date date)方法为Calendar设置Date对象所表示的时间。
   8:使用Date getTime()方法来获取calendar所表示的时间。

例如:

public class CalendarToDate {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        //使用Date getTime()方法获取Calendar表示的Date对象
        System.out.println(date);

    }

}

猜你喜欢

转载自www.cnblogs.com/zhaoja/p/11351652.html