Java核⼼心之常⻅见时间⽇日期讲解

一,Java⽇日期处理理类Date详解

时间的基础知识

 时区:整个地球分为⼆二⼗十四时区,每个时区都有⾃自⼰己的本地时间。
为了了统⼀一起⻅见,使⽤用⼀一个统⼀一的时间,称为全球标准时间(UTC, Universal Time
Coordinated)。
TC与格林林尼治平均时(GMT, Greenwich Mean Time,也翻译成:格林林威治标准时间)差不不多⼀一

CST(北北京时间),北北京时间,China Standard Time,中国标准时间。在时区划分上,属东⼋八
区,⽐比协调世界时早8⼩小时,记为UTC+8。
时间戳:⾃自 1970 年年 1 ⽉月 1 ⽇日(08:00:00 GMT)⾄至当前时间的总秒数,它也被称为Unix时
间戳(Unix Timestamp),⼴广泛的运⽤用在知识产权保护、 合同签字、 ⾦金金融帐务、 电⼦子报价投
标、 股票交易易等⽅方⾯面
格式多种:2050-10-31 10:11:11、2050/10/31 10/10:10
年年、⽉月、⽇日、周⼏几等

 

package chapter13;

import java.util.Date;
//不要导入sql下的Date
public class DateTest {
    public static void main(String [] args){
//        Date date=new Date();//表示当前用户创建的时间
//        System.out.println(date);
//        System.out.println(date.getTime());
        Date date=new Date(1649469789395L);//时间戳作为参数
        System.out.println(date);
        System.out.println(date.getTime());
    }
}

时间戳的计算可以借助网上的工具

 

 

二,java核⼼之常⻅时间⽇期讲解

 

 

package chapter13;

import java.time.LocalDate;

public class LocalDateTest {
    public static void main(String [] args){
        //LocalDate的构造函数是私有的不能通过new来创建
        LocalDate today= LocalDate.now();
        System.out.println("当前时间是"+today);
        //获取年月日
        System.out.println("现在是那年"+today.getYear());
        System.out.println("当前是哪月"+today.getMonth());
        System.out.println("当前哪月(数字)"+today.getMonthValue());
        System.out.println("当前是几号"+today.getDayOfMonth());
        System.out.println("当前是周几"+today.getDayOfWeek());

        //加减年份,加后返回的对象才是修改后的,旧的依旧是旧的
        LocalDate changdDate=today.plusYears(1);
        System.out.println("新的是哪一年"+changdDate);
        System.out.println("旧的是哪一年"+today);
        //日期比较
        System.out.println("isAfter:"+changdDate.isAfter(today));
        
    }
}

 结果

 其他常见API

//getYear() int 获取当前⽇日期的年年份
//getMonth() Month 获取当前⽇日期的⽉月份对象
//getMonthValue() int 获取当前⽇日期是第⼏几⽉月
//getDayOfWeek() DayOfWeek 表示该对象表示的⽇日期是星期⼏几
//getDayOfMonth() int 表示该对象表示的⽇日期是这个⽉月第⼏几天
//getDayOfYear() int 表示该对象表示的⽇日期是今年年第⼏几天
//withYear(int year) LocalDate 修改当前对象的年年份
//withMonth(int month) LocalDate 修改当前对象的⽉月份
//withDayOfMonth(int dayOfMonth) LocalDate 修改当前对象在当⽉月的⽇日期
//plusYears(long yearsToAdd) LocalDate 当前对象增加指定的年年份数
//plusMonths(long monthsToAdd) LocalDate 当前对象增加指定的⽉月份数
//plusWeeks(long weeksToAdd) LocalDate 当前对象增加指定的周数
//plusDays(long daysToAdd) LocalDate 当前对象增加指定的天数
//minusYears(long yearsToSubtract) LocalDate 当前对象减去指定的年年数
//minusMonths(long monthsToSubtract) LocalDate 当前对象减去注定的⽉月数
//minusWeeks(long weeksToSubtract) LocalDate 当前对象减去指定的周数
//minusDays(long daysToSubtract) LocalDate 当前对象减去指定的天数
//compareTo(ChronoLocalDate other) int ⽐比较当前对象和other对象在时
间上的⼤大⼩小,返回值如果为正,则当前对象时间较晚,
LocalTime 常⽤用API
LocalDateTime 常⽤用API
Time和DateTime和LocalDatele

三,新版JDK8之时间⽇日期格式化

 

 

 

package chapter13;

import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class FormatTest {
    public static void main(String [] args){
//        LocalDateTime ldt=LocalDateTime.now();
//        System.out.println(ldt);
//        DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-D HH:mm:ss");//很常用,一定要记住
//        String  ldtSrt=dtf.format(ldt);
//        System.out.println(ldtSrt);
        LocalDateTime today=LocalDateTime.now();
        System.out.println(today);
        LocalDateTime changeDate= LocalDateTime.of(2023,10,1,10,40,30);
        //第二个参数减第一个参数
        Duration duration=Duration.between(today,changeDate);
        System.out.println(duration.toDays());//两个时间差的天数
        System.out.println(duration.toHours());//两个时间差的小时
        System.out.println(duration.toMinutes());//两个时间差的分钟
        System.out.println(duration.toMillis());//两个时间差的毫秒



    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值