首页 > 编程语言 >Java日期

Java日期

时间:2024-03-07 18:55:19浏览次数:28  
标签:Java System 日期 println now LocalDate final out

Java8之前的传统日期API

Date转换成字符串

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/7 14:43
 */
public class Demo {
    public static void main(String[] args) {
        //创建Date类,构造的时候填入当前的日期
        Date date = new Date();
        System.out.println(date);
        //获得秒
        final long time = date.getTime();
        System.out.println(time);
        //将Date转换成更好识别的日期字符串
        final SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E a");
        final String format1 = format.format(date);
        System.out.println(format1);
        //将秒转换成更好识别的日期字符串
        final String format2 = format.format(time);
        System.out.println(format2);
    }
}

字符串解析成Date对象

    //将字符串的时间解析成日期对象
    String str = "2024-03-07 15:46:50";
    final SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
        final Date parse = format3.parse(str);
        System.out.println(parse);
    } catch (ParseException e) {
        e.printStackTrace();
    }

Calendar对象

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/7 14:43
 */


public class Demo {
    public static void main(String[] args) {
        final Calendar calendar  = Calendar.getInstance();
        System.out.println(calendar);
        //输出今天时今年的第几天
        final int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
        System.out.println(dayOfYear);
        //修改年份
        calendar.set(Calendar.YEAR, 2025);
        //获取输出年份
        final int year = calendar.get(Calendar.YEAR);
        System.out.println(year);
    }
}

Java开始新增的日期和时间

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/7 14:43
 */


public class Demo {
    public static void main(String[] args) {
        final Date date = new Date();
        final int year = date.getYear();
        //1.设计不合理,使用不方便
        System.out.println(year + 1900);    //这里得到的年份还要-1900
        Calendar cal = Calendar.getInstance();
        final int month = cal.get(Calendar.MONTH);  //这里得到月份还要自己记忆Calendar.MONTH
        System.out.println(month);
        //2.传统的日期都是可变的对象,修改后丢失原始的信息
        //3.传统的日期是线程不安全的
    }
}


分类

LocalDate
import java.time.DayOfWeek;
import java.time.LocalDate;

/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/7 16:42
 */
public class LocalDateDemo {
    public static void main(String[] args) {
        //获取本地日期对象(不可变对象)
        final LocalDate now = LocalDate.now();
        //1.获取对象中的信息
        System.out.println(now);    //2024-03-07
        final int year = now.getYear();
        System.out.println(year);    //2024
        final int month = now.getMonthValue();
        System.out.println(month);  //3
        final int day = now.getDayOfMonth();
        System.out.println(day);  //7
        final int dayOfYear = now.getDayOfYear();
        System.out.println(dayOfYear);//67
        final DayOfWeek dayOfWeek = now.getDayOfWeek();
        System.out.println(dayOfWeek); //THURSDAY
        //2.直接修改某个信息
        final LocalDate now1 = now.withYear(2099);
        final LocalDate now2 = now.withMonth(12);
        System.out.println(now);    //2024-03-07
        System.out.println(now1);   //2099-03-07
        System.out.println(now2);   //2024-12-07

        final LocalDate now3 = now.plusYears(2);    //2026-03-07
        System.out.println(now3);

        final LocalDate now4 = now.minusYears(2);
        System.out.println(now4);                   //2022-03-07

        final LocalDate now5 = LocalDate.of(2008, 12, 12);
        final LocalDate now6 = LocalDate.of(2008, 12, 22);
        System.out.println(now5);   //2008-12-12
        System.out.println(now6);   //2008-12-22

        System.out.println(now5.equals(now6));      //false
        System.out.println(now5.isBefore(now6));    //true
        System.out.println(now5.isAfter(now6));     //false

    }
}

LocalTime

import java.time.LocalTime;
/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/7 18:38
 */
public class LocalTimeDemo {
    public static void main(String[] args) {
        final LocalTime now = LocalTime.now();
        System.out.println(now);    //18:38:47.606559700

        //1.获取事件中的信息
        System.out.println(now.getHour());      //时
        System.out.println(now.getMinute());    //分
        System.out.println(now.getSecond());    //秒
        System.out.println(now.getNano());      //纳秒

        //2.修改时间 withHour,withMinute,withSecond,withNano

        //3.加时间 plusHours,plusMinutes,plusSecond,plusNanos

        //4.减多少 
        
        //...同LocalDate
    }
}

LocalDateTime

和LocalDate、LocalDateTime类似
但是LocalDateTime可以分成LocalDate和LocalTime,LocalTime和LocalDate也可以合成LocalDateTime

标签:Java,System,日期,println,now,LocalDate,final,out
From: https://www.cnblogs.com/poteitoutou/p/18059225

相关文章

  • Java取当前时间的一分钟后,并格式化输出
    1.Java1.8以前Calendarinstance=Calendar.getInstance();//获取当前日期时间instance.add(Calendar.MINUTE,1);//加1分钟System.out.println(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(instance.getTime()));2.Java1.8及以后System.out.println(DateTimeFor......
  • Java登陆第三十二天——前端工程化
    现如今项目结构臃肿,MAVEN中拥有前端+后端代码。为了提高效率和降低成本,前端也需要结构化的管理,但MAVEN管理前端较为麻烦工程独立之后也就是前后端分离。前后端分离的优点开发分离(最好人也分离)部署分离前端工程化实现技术栈前端工程化实现的技术栈有很多,我们采用......
  • MySQL 的 datetime 日期类型,以当前时间作为初始默认值
     1.以当前时间作为默认值使用DEFAULTCURRENT_TIMESTAMP声明字段,插入记录时不用指定dt,自动置入当前时间CREATETABLEt1(dtDATETIMEDEFAULTCURRENT_TIMESTAMP); 2.以当前时间作为默认值以及更新值使用ONUPDATECURRENT_TIMESTAMP声明字段,修改记录时dt自......
  • java使用ssh通道连接mysql
    添加依赖<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version></dependency>添加配置importcom.jcraft.jsch.JSch;......
  • java 注解
    1、什么是注解      类似一种特殊的注释,可以在程序运行时被反射获取,如同标签。2、注解分类内置注解自定义注解内置注解Java定义了一套注解,共有7个,3个在java.lang中,剩下4个在java.lang.annotation中。作用在代码的注解:@Override-检查该方法是否是重......
  • macOS m1芯片报错 java.lang.UnsatisfiedLinkError: no taos in java.library.path
    项目中有用到TDengine,MacOSm1芯片本地开发启动项目报错如下java.lang.UnsatisfiedLinkError:notaosinjava.library.path方案一(推荐)以上错误是因为java在连接TDengine数据库的时候没有找到本地函数库。本地安装一下TDengine,然后在/usr/local/lib/下就会有taos函数库。因此......
  • java过滤器拦截路劲问题
    在我们使用filter过滤器时注解@WebFilter("/serverlet/demo1/")多层目录只针对文件注解@WebServlet(name="Servlet1",value="/serverlet/demo1/test1")具有过滤作用(原因:注解路径相同),其中“@WebFilter("/serverlet/demo1/")”括号里的*代表只要serverlet注解前半部分相同的文......
  • 熟悉又陌生的JavaWeb 第2天
    传送门JSP基本语法什么是servlet自定义Servlet,直接使用抽象好的HttpServlet更好MyCustomServletpublicclassMyCustomServletextendsHttpServlet{@SerialprivatestaticfinallongserialVersionUID=-599450886992695746L;@Overrideprotected......
  • c#与java之间的区别盘点
    原文链接:http://www.mobiletrain.org/about/BBS/119467.htmlhttps://blog.csdn.net/clpig0125/article/details/50774628C#(CSharp)是Microsoft开发的一种面向对象的编程语言,而Java是由SunMicrosystems开发的一种面向对象的编程语言。虽然它们都是面向对象的编程语言,但它们之......
  • 卡码java基础课 | 10.平均绩点
    学习内容:字符串的声明和初始化字符串的常见操作字符串的特点读取字符串输入equals方法字符串格式化输出format和printf字符串的遍历flag编程思想switch-case浮点数运算重点归纳:字符串1.声明和初始化:Stringname="Hello,Java";Stringmessage=newString("Hello"......