Java中获得日期时间的8种方法

编号途经代码说明建议
1java.util.Datenew Date()Date对象少用
2SystemSystem.currentTimeMillis()时间戳常用
3java.util.CalendarCalendar.getInstance().getTime()Date升级版较常用
4java.time.LocalDateLocalDate.now()只有日期推荐 (JDK1.8新API)
5java.time.LocalTimeLocalTime.now()只有时间推荐 (JDK1.8新API)
6java.time.LocalDateTimeLocalDateTime.now()日期时间推荐 (JDK1.8新API)
7java.time.ZonedDateTimeZonedDateTime.now()有时区推荐 (JDK1.8新API)
8InstantInstant.now()时刻推荐 (JDK1.8新API)
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.Calendar;
import java.util.Date;
/**
 * @author ajun
 * Date 2021/7/9
 * @version 1.0
 * 获取当前时间
 */
public class CurrentTime {
    public static void main(String[] args) {
        //getByDate();
        //getBySystem();
        //getByCalendar();
        //getByLocalDate();
        //getByLocalTime();
        //getByLocalDateTime();
        //getByZonedDateTime();
        getByInstant();
    }
    // 使用java.util.Date类
    public static void getByDate(){
        Date date = new Date();
        //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //System.out.println(format.format(date));
        System.out.println(date);
    }
    // 使用System类
    public static void getBySystem(){
        long l = System.currentTimeMillis();
        Date date = new Date(l);
        System.out.println(date);
    }
    // 使用Calendar类
    public static void getByCalendar(){
        Date time = Calendar.getInstance().getTime();
        System.out.println(time);
    }
    // 使用LocalDate类:只有日期,无时间
    public static void getByLocalDate(){
        LocalDate now = LocalDate.now();
        System.out.println(now);
    }
    // 使用LocalTime类:只有时间,无日期
    public static void getByLocalTime(){
        LocalTime now = LocalTime.now();
        System.out.println(now);
    }
    // 使用LocalDateTime类
    public static void getByLocalDateTime(){
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
    }
    // 使用ZonedDateTime类
    public static void getByZonedDateTime(){
        ZonedDateTime now = ZonedDateTime.now();
        System.out.println(now);
    }
    // 使用Instant类
    public static void getByInstant(){
        Instant now = Instant.now();
        System.out.println(now);
    }
}

格式化

DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH :mm:ss");
// time可以是LocalDate,LocalTime,LocalDateTime
// 但是要注意yyyy-MM-dd HH :mm: ss, 有啥就填写啥
String strDate2 = dtf2.format(time);

时区的设置

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LC超人在良家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值