0057 日期类

 

 

 

 

 

 

 

 

/*
    第一代日期类Date
    1.Date                  //精确到毫秒,代表特定的瞬间
    2.SimpleDateFormat      //格式和解析日期的类

    第二代日期类Calendar
      Calendar类是一个抽象类,为一组日历字段之间的转换提供了一些方法
      并为操作日历字段(如获取下星期的日期)提供了一些方法
      构造器为private,可以通过getInstance()来获取实例

    第三代日期类  (jdk8加入)
    LocalDate(获取日期 年月日)
    LocalTime(获取时间 时分秒)
    LocalDateTime(获取日期时间 年月日时分秒)

    其他方法
    plus 和 minus 方法可以对当前时间进行加或者减
    ......

    DateTimeFormatter格式日期类
    DateTimeFormatter xxx = DateTimeFormatter.ofPattern(格式)
    String xx = xxx.format(日期对象)

    Instant时间戳
    提供了一系列和Date类转换的方式
    Instant---->Date
    Date date = Date.from(instant);
    Date---->Instant
    Instant instant = date.toInstant();
 */
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;//Date类在java.util包
public class Date_ {
    public static void main(String[] args) {
        Date d1 = new Date(); //获取当前系统时间,默认输出为国外方式,因此通常对格式进行转换
        System.out.println("当前日期=" + d1);

        Date d2 = new Date(9234567); //通过指定毫秒数得到时间
        System.out.println("d2=" + d2); //获取某个时间对应的毫秒数

        //创建SimpleDateFormat对象,指定相应格式(使用的字母是规定好的)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年mm月dd日 hh:mm:ss");
        String format = simpleDateFormat.format(d1);//将日期转换成指定格式的字符串
        System.out.println("当前日期=" + format);
    }
}

class Calendar_{
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();//创建对象,不能new,因为构造器私有
        System.out.println(c);

        //获取日历对象的某个日历字段
        System.out.println("年=" + c.get(Calendar.YEAR));
        System.out.println("月=" + c.get(Calendar.MONTH) + 1);//因为月的编号从0开始,所以+1
        System.out.println("日=" + c.get(Calendar.DAY_OF_MONTH));
        System.out.println("时=" + c.get(Calendar.HOUR));//12小时制,Calendar.HOUR_OF_DAY24小时制
        System.out.println("分=" + c.get(Calendar.MINUTE));
        System.out.println("秒=" + c.get(Calendar.SECOND));

        //Calendar没有专门的格式化方法,所以需要自己组合
        System.out.println(c.get(Calendar.YEAR) + "年" + (c.get(Calendar.MONTH) + 1) + "月");
    }
}
class LocalDate_{
    public static void main(String[] args) {
        //使用now()返回表示当前日期时间的对象
        LocalDateTime l1 = LocalDateTime.now();
        System.out.println(l1);

        //使用DateTimeFormatter对象来进行格式化
        //创建DateTimeFormatter对象
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String format = dateTimeFormatter.format(l1);
        System.out.println("格式化的日期=" + format);

        System.out.println("年=" + l1.getYear());
        System.out.println("月=" + l1.getMonth());//英文
        System.out.println("月=" + l1.getMonthValue());
        System.out.println("日=" + l1.getDayOfMonth());
        System.out.println("时=" + l1.getHour());
        System.out.println("分=" + l1.getMinute());
        System.out.println("秒=" + l1.getSecond());

        //提供 plus 和 minus 方法可以对当前时间进行加或者减
        LocalDateTime localDateTime = l1.plusDays(365);
        System.out.println("365天后=" + dateTimeFormatter.format(localDateTime));

        LocalDateTime localDateTime2 = l1.minusMinutes(3600);
        System.out.println("3600分钟前日期=" + dateTimeFormatter.format(localDateTime2));
    }
}
class Instant_{
    public static void main(String[] args) {
        //1.通过 静态方法 now() 获取表示当前时间戳的对象
        Instant i1 = Instant.now();
        System.out.println(i1);
        //2. 通过 from 可以把 Instant 转成 Date
        Date date = Date.from(i1);
        //3. 通过 date 的 toInstant() 可以把 date 转成 Instant 对象
        Instant instant = date.toInstant();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nzmzmc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值