常用API-3

Date类

/*
    java.util,  extends Object,
    implements Serializable, Cloneable, Comparable<Date>
*/
public class DateDemo {
    public static void main(String[] args) {
        //public Date(); 分配一个Date对象,并初始化,表示它被分配的时间,精确到毫秒.
            Date date = new Date();
            System.out.println(date);
            //Sun Feb 12 12:08:06 CST 2023
        //public Date(long date); 分配一个Date对象,并初始化为从基准时间到指定时间的毫秒数.
            long l = 1000*60*60*24*10;//秒,分,时,天,10天
            Date d = new Date(l);
            System.out.println(d);
            //Sun Jan 11 08:00:00 CST 1970
    }
}

public static void main(String[] args) {
        Date d = new Date();
        //public lang getTime();获得1970到现在的毫秒数
        System.out.println( d.getTime()*1.0/1000/60/60/24/365);
        System.out.println("----------------");
        //public void setTime(long time);设置时间,
        long time1 = 1000*60*60;
        long time2 = System.currentTimeMillis();
        //设置一个时间,并显示出来
        d.setTime(time1);
        System.out.println(d);
        //Thu Jan 01 09:00:00 CST 1970
        d.setTime(time2);
        System.out.println(d);
        //Sun Feb 12 13:16:10 CST 2023
    }

SimpleDateFormat 类

 public static void main(String[] args) throws ParseException {
        Date d = new Date();
        // Date ---> String  格式化
        SimpleDateFormat sdf = new SimpleDateFormat();//创建对象
        String s1 = sdf.format(d);//调用format方法,Date转为String
        System.out.println(s1);
        //2023/2/12 下午2:18

        //自定义格式"yyyy年MM月dd日 HH:mm:ss", 可以自定义
        SimpleDateFormat sdf2= new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String s2 = sdf2.format(d);//Date->String
        System.out.println(s2);
        //2023年02月12日 14:18:11

        //String --->Date  解析
        String s3 = "2000年01月01日 00:00:00";//必须与对象的格式相同
        Date d3 = sdf2.parse(s3);//String->Date
        System.out.println(d3);
        //Sat Jan 01 00:00:00 CST 2000
    }

案例 日期工具类

一般来说,工具类为了使用方便要: 构造方法私有, 成员方法静态.
案例:日期工具类
需求:定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;
把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法
思路:
① 定义日期工具类(DateUtils)
② 定义一个方法dateToString,用于把日期转换为指定格式的字符串
·返回值类型:String
·参数:Date date, String format
③ 定义一个方法stringToDate,用于字符串解析为指定格式的日期
·返回值类型:Date
·参数:String s,String format
④ 定义测试类DateDemo,调用日期工具类中的方法

//工具类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;

public class DateUtils {
    /*案例:日期工具类
需求:定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;
       把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法
思路:
① 定义日期工具类(DateUtils)
② 定义一个方法dateToString,用于把日期转换为指定格式的字符串
    ·返回值类型:String
    ·参数:Date date, String format
③ 定义一个方法stringToDate,用于字符串解析为指定格式的日期
    ·返回值类型:Date
    ·参数:String s,String format
④ 定义测试类DateDemo,调用日期工具类中的方法
 */
    //一般情况,工具类要构造方法私有,成员方法静态.
    private DateUtils(){}
    public static String dateToString(Date date,String format){
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s1 = sdf.format(date);
        return s1;
    }
    public static Date StringToDate(String s,String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date date = sdf.parse(s);
        return date;
    }
}

//测试类
import java.text.ParseException;
import java.util.Date;

public class DateUtilsDemo {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();//创建日期对象
//        System.out.println(date);
        //定义方法
        String s = DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss");
        //改变格式  //自定义方法的好处在于可以自定义输出格式
        String syMd = DateUtils.dateToString(date, "yyyy-MM-dd");
        System.out.println(s);
        System.out.println(syMd);
        //调用方法,转回Date类型
        Date d1 = DateUtils.StringToDate(s, "yyyy-MM-dd HH:mm:ss");
        System.out.println(d1);
    }
}

posted @ 2023-02-12 12:31  大宝贝94106  阅读(32)  评论(0)    收藏  举报