book-mountain

java获取当前时间的四种方法

第一种:Date类

public class DateDemo {
    public static void main(String[] args) {
        Date day = new Date();
        SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dft.format(day));
    }
}

 

第二种:System类中的currentTimeMillis方法

public class DateDemo {
    public static void main(String[] args) {
        SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dft.format(System.currentTimeMillis()));
    }
}

第三种:Calendar.getInstance()(国际通用)

public class DateDemo {
    public static void main(String[] args) {
        Calendar date = Calendar.getInstance();
        System.out.println(date.getTime());
        //可以单独获取时间
        System.out.println("年:"+date.get(Calendar.YEAR));
        System.out.println("月:"+(date.get(Calendar.MONTH)+1));  //Note:月份从0开始
        System.out.println("日:"+date.get(Calendar.DAY_OF_MONTH));
        System.out.println("时:"+date.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:"+date.get(Calendar.MINUTE));
        System.out.println("秒:"+date.get(Calendar.SECOND));
        //可以修改时间
        //add
        date.add(Calendar.YEAR, -1); // 年份减1
        date.add(Calendar.YEAR, +1); // 年份加1
        //set
        date.set(Calendar.HOUR, 1);//设置时为  13点
        date.set(Calendar.MINUTE, 45);//设置分为 45
    }
}

 

第四种:jdk1.8LocalDate更安全、更精确也更明确

/获取当前时间 yyyy-MM-dd
        LocalDate today = LocalDate.now();
        // 根据年月日获取日期,12月就是12
        LocalDate date = LocalDate.of(2019,5,6);

        //根据字符串获取
        //严格按照ISO yyyy-MM-dd验证,02不可写成02
        LocalDate endOfFeb = LocalDate.parse("2019-02-28");

        //获取本月第一天
        LocalDate firstDate = today.with(TemporalAdjusters.firstDayOfMonth());

        // 获取本月第2天
        LocalDate secondDate = today.withDayOfMonth(2);

        // 获取本月最后一天,不用计算是28,29,30还是31
        LocalDate lastDate = today.with(TemporalAdjusters.lastDayOfMonth());
        
        // 取下一天:
        LocalDate firstTime = LocalDate.now().plusDays(1);

        // 取2019年1月第一个周一
        LocalDate firstMonday = LocalDate.parse("2019-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));

        // ISO_DATE 只有年月日
        String time = LocalDate.parse("2019-05-05").format(DateTimeFormatter.BASIC_ISO_DATE.ISO_DATE);

 

posted on 2019-05-30 14:01  蜀山鸭梨大  阅读(630)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: