Java基础 与时间相关的类:System_Date_SimpleDateFormat_Calendar类

笔记总结:

/**与时间相关的类:System_Date_SimpleDateFormat_Calendar类
 *  1.system 类下的currentTimeMillis()
 *          输出从1970年至今的时间的毫秒数, 运行两次即可用于统计时间间隔!
 *  2.Date() 类:java.util.Date : toString()/getTime()--返回long型64位整数  ;
 *              以及他的子类java.sql.Date
 *  3.SimpleDateFormat 类:(国际化)
 *      格式化: ①构造器: SimpleDateFormat() / SimpleDateFormat(String pattern) :常用pattern:"G yyyy:MM:dd 'at' HH:mm:ss "
 *              ② String str=sdf.format(new Date()) : 利用sdf format一个Date()对象,格式化为字符串输出即可!
 *      解析:
 *              ① 利用parse进行转换, Date date1=sdf.parse("18-10-20 上午10:55");
 *              ② 直接输出Date().toString() 显示Date() 的标准时间!
 *  4.Calendar 类:
 *          ① Calendar c=Calendar.getInstance(); //实现Calendar的引用,因为它没有构造器
 *          ②get(field) / set(field,number) /add(field,number): number可以表示为正负数
 *          ③DAte getTime() /setTime()(Date d)
 */

测试代码:

public class TestDate {

    @Test//1.Date类
    public void test1(){
        Date d1=new Date();
        System.out.println(d1.toString());
        System.out.println(d1.getTime());long x=d1.getTime();
        Date d2=new Date(x);
        System.out.println(d2);
    }
    @Test //2.SimpleDateFormat
    public void test2() throws Exception{
        //1.格式化1
        SimpleDateFormat sdf=new SimpleDateFormat();
        String str=sdf.format(new Date());
        System.out.println(str); //18-10-20 上午10:55
        //2.格式化2
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss");
        str=sdf1.format(new Date());
        System.out.println(str);  //2018:10:20 at 11:10:53
        //3.解析
        Date date1=sdf.parse("18-10-20 上午10:55");
        System.out.println(date1);    //Sat Oct 20 10:55:00 CST 2018

        Date date2=sdf1.parse("2018-10-20 at 10:55:32");
        System.out.println(date2);
    }
    @Test //3.Calendar() get
    public void test4(){
        Calendar c=Calendar.getInstance(); //实现Calendar的引用

        System.out.println("今天是本月的第几天? "+c.get(Calendar.DAY_OF_MONTH));
        System.out.println("今天的星期几:  "+(c.get(Calendar.DAY_OF_WEEK)-1) );
        //打印当前时分秒
        int h=c.get(Calendar.HOUR_OF_DAY);  //不要用Calendar.HOUR,不然12点就成了0点
        int m=c.get(Calendar.MINUTE);
        int s=c.get(Calendar.SECOND);
        System.out.println("当前Calendar的 时分秒: "+h+":"+m+":"+s);

        c.set(Calendar.DAY_OF_MONTH,23);
        Date d=c.getTime();
        System.out.println("更新后的Date时间: "+d);
    }
}

输出结果:

Sat Oct 20 13:13:33 CST 2018
1540012413382
Sat Oct 20 13:13:33 CST 2018
18-10-20 下午1:13
2018-10-20 at 13:13:33
Sat Oct 20 10:55:00 CST 2018
Sat Oct 20 10:55:32 CST 2018
今天是本月的第几天? 20
今天的星期几:  6
当前Calendar的 时分秒: 13:13:33
更新后的Date时间: Tue Oct 23 13:13:33 CST 2018

猜你喜欢

转载自www.cnblogs.com/zhazhaacmer/p/9821330.html