java常用类三:Date & Calendar

Date类

package com.company.commonClass04;
/*
    获取自1970年1月1日 00时00分00秒 000毫秒 到当前的毫秒数
*/
public class DateTest01 {
    public static void main(String[] args) {

        long now = System.currentTimeMillis();
        System.out.println(now);  // 获取自1970年1月1日 00时00分00秒 000毫秒 到当前的毫秒数
    }
}

package com.company.commonClass04;
/*
    获取系统当前时间
*/
import java.util.Date;
import java.text.SimpleDateFormat;

public class DateTest02 {
    public static void main(String[] args) {

        //获取系统当前时间
        Date nowTime = new Date();

        System.out.println(nowTime);  //Wed Nov 27 10:40:00 CST 2019
        // 以上程序说明java.util.Date 已经重写了Object中的toString方法
        // 只不过重写的结果对于中国人将不太容易理解

        // 所以引入“格式化”日期
        // java.util.Date --> String
        /*
            日期格式:
                y   年
                M   月
                d   日
                H   小时
                m   分
                s   秒
                S   毫秒
                ...
        */

        // 1.创建日期格式化对象
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyy年MM月dd日 HH:mm:ss SSS");

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyy-MM-dd E HH:mm:ss SSS");
        // 2.开始格式化 Date --> String
        String strTime1 = sdf1.format(nowTime);
        System.out.println(strTime1);  // 2019年11月27日 11:11:39 014

        String strTime2 = sdf2.format(nowTime);
        System.out.println(strTime2); // 2019-11-27 周三 11:11:39 014
    }
}

package com.company.commonClass04;
/*
    获取特定的日期
*/
import java.text.ParseException;
import java.util.Date;
import java.text.SimpleDateFormat;

public class DateTest03 {
    public static void main(String[] args){

        String strTime = "2008年08月08日 08:08:08 888";

        // 将String日期转换成日期类型Date
        // String --> Date

        // 1.创建日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyy年MM月dd日 HH:mm:ss SSS");  // 【注意】此处格式不能随意写,要和上面字符串格式保持一致

        // 2.将字符串转换成日期类型  String --> Data 使用parse()方法

        /*
        try{
            Date t = sdf.parse(strTime);
            System.out.println(t);  // Fri Aug 08 08:08:08 CST 2008
        }catch(ParseException e){

        }
        //【注意】使用上面方法,由于t是局部变量,所以System.out.println(t);必须要写在里面
         而实际开发中可能需要对try{}里面变量进行操作怎么办?
            声明全局变量 或者 根据需求声明一个比try{}里面变量作用域大一点的即可
         */
        Date t = new Date();
        try{
            t = sdf.parse(strTime);
        }catch(ParseException e){

        }

        System.out.println(t); // Fri Aug 08 08:08:08 CST 2008

    }
}

package com.company.commonClass04;
/*
    Date d = new Date();  获取系统当前时间
    Date d = new Date(long mills);  mills是自1970-00-00 00:00:00 000的毫秒数
*/
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateTest04 {
    public static void main(String[] args) {

        // 1000是自1970-00-00 00:00:00 000的毫秒数
        Date t1 = new Date(1000);

        // Date --> String
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

        // 北京东八区
        System.out.println(sdf.format(t1)); //1970-01-01 08:00:01 000

        // 获取当前系统的前10分钟时间
        Date t2 = new Date(System.currentTimeMillis() - 10*60*1000);
        System.out.println(sdf.format(t2));  //2019-11-27 18:42:50 674
        System.out.println(sdf.format(new Date())); //2019-11-27 18:52:50 674
    }
}

Calendar类

package com.company.commonClass04;
/*
    日历
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest05 {
    public static void main(String[] args) throws ParseException {

        // 获取系统当前日历
        Calendar c = Calendar.getInstance();

        // 查看当前日历的“星期几”
        int i = c.get(Calendar.DAY_OF_WEEK);
        // 或者采用下面这种方式编写,但是还是推荐上面,因为见名知意
        // int i = c.get(7);

        // 【注】中国的星期日 外国人看做第一天
        System.out.println(i);  // i输出4 表示星期三

        // 获取当前日历的“几号”
        System.out.println(c.get(Calendar.DAY_OF_MONTH));  //27日
        System.out.println(c.get(Calendar.DAY_OF_YEAR));   //331 本年中的第几天

        // 练习:获取2008-08-08是星期几?

        // 获取008-08-08的日历
        String strTime = "2008-08-08";
        /*
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date t = new Date();

        try{
            t = sdf.parse(strTime);
        }catch(ParseException e){

        }

        */
        // 简写
        Date t = new SimpleDateFormat("yyyy-MM-dd").parse(strTime);

        c.setTime(t);
        System.out.println(c.get(Calendar.DAY_OF_WEEK)); //6  星期五
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值