【Java寒假打卡】Java基础-日期类对象

news2025/1/15 16:45:10

【Java寒假打卡】Java基础-日期类对象

    • Date概述
    • Date类常用成员方法
    • SimpleDateFormat
    • 案例:秒杀活动
    • 案例:在当前时间加上一天时间
    • JDK8新增日期类
    • 获取时间中的一个值
    • LocalDateTime转换方法
    • LocalDateTime格式化和解析
    • LocalDateTime 增加或者减少时间的方法
    • 修改时间的方法
    • 时间间隔对象

Date概述

在这里插入图片描述

package com.hfut.edu.test2;

import java.util.Date;

public class test1 {
    public static void main(String[] args) {
        Date date1 = new Date();
        System.out.println(date1);// 表示电脑中的当前时间

        Date date2 = new Date(0L);
        System.out.println(date2);
        // 从计算机的时间原点开始 过了指定毫秒的那个时间
        // 从时间远点开始 过了0毫秒

        Date date3 = new Date(3600L * 1000);// 上午九点
        System.out.println(date3);
    }
}

Date类常用成员方法

在这里插入图片描述

package com.hfut.edu.test2;
import java.util.Date;

public class test2 {
    public static void main(String[] args) {
        // 将当前时间封装成一个date对象
        Date date1 = new Date();
        // 获取该对象的毫秒值
        System.out.println(date1.getTime());

        // 也是获取当前时间的毫秒值
        long l = System.currentTimeMillis();
        System.out.println(l);
        
        // 修改时间
        date1.setTime(0L);// 设置成时间原点
        System.out.println(date1);

    }
}

SimpleDateFormat

 SimpleDateFormat可以对Date对象进行格式化和解析

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 将指定日期对象按照指定格式转换成字符串 format
package com.hfut.edu.test2;

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

public class test3 {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");// 指定字符串格式 简化Date对象

        String result1 = sdf.format(date);// 将指定的日期对象转换成指定格式的字符串
        System.out.println(result1);
    }
}
  • 将日期字符串按照指定格式转换成日期对象 parse
package com.hfut.edu.test2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class test4 {
    public static void main(String[] args) throws ParseException {
        String s = "2048-01-01";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 日期字符串使用- 间隙格式也必须使用-
        // 将指定日期字符串按照指定格式转换成日期对象
        Date d = sdf.parse(s);
        System.out.println(d);
    }
}

案例:秒杀活动

在这里插入图片描述

package com.hfut.edu.test2;

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

public class test5 {
    public static void main(String[] args) throws ParseException {
        String start = "2020年11月11日 0:0:0";
        String end = "2020年11月11日 0:10:0";
        String jia = "2020年11月11日 0:03:0";
        String pi = "2020年11月11日 0:10:22";

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

        // 使用指定格式进行解析  然后获取毫秒值
        long StartTime = sdf.parse(start).getTime();
        long EndTime = sdf.parse(end).getTime();
        
        // 全部转换成毫秒值 方便进行转换
        long JTime  = sdf.parse(jia).getTime();
        long PTime  = sdf.parse(pi).getTime();

        if(JTime >= StartTime && JTime <= EndTime){
            System.out.println("参加上了秒杀活动");
        }
        else{
            System.out.println("没有参加上秒杀活动");
        }

        if(PTime >= StartTime && PTime <= EndTime){
            System.out.println("参加上了秒杀活动");
        }
        else{
            System.out.println("没有参加上秒杀活动");
        }

    }
}

案例:在当前时间加上一天时间


package com.hfut.edu.test2;

import java.sql.SQLOutput;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class test6 {
    public static void main(String[] args) throws ParseException {

        // 案例在指定时间字符串上面  加上一天 再返回时间字符串
        String s = "2020年11月11日 00:00:00";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

        // 将时间字符串进行解析 解析成日期对象 然后转换成时间
        Date d = sdf.parse(s);
        long time = d.getTime();
        System.out.println(time);

        // 在当前时间的基础上  添加一天
        time = time + (1000 * 60 * 60 * 24);

        // 包装成日期Date对象
        Date newDate = new Date(time);


        // 将Date对象转换成时间字符串
        String result = sdf.format(newDate);

        System.out.println(result);

    }
}

JDK8新增日期类

在这里插入图片描述

在这里插入图片描述

  • LocalDateTime.now() 获取当前的系统时间
  • LocalDateTime.of(指定时间) 按照指定时间初始化一个Date对象
package com.hfut.edu.test2;

import java.time.LocalDateTime;

public class test7 {
    public static void main(String[] args) {
        // 打印当前时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);

        //指定当前时间

        LocalDateTime localDateTime = LocalDateTime.of(2023,1,1,1,1,1);
        System.out.println(localDateTime);
    }
}

获取时间中的一个值

在这里插入图片描述

package com.hfut.edu.test2;
import java.time.DayOfWeek;
import java.time.LocalDateTime;

public class test8 {
    public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.of(2020,11,11,1,1,1);

        int year = localDateTime.getYear();// 获取年份
        System.out.println("年份y "+ year);
        int month = localDateTime.getMonthValue();
        System.out.println("月份" + month);

        // 获取分钟
        int minute = localDateTime.getMinute();
        System.out.println(minute);

        // 获取小时
        int hour = localDateTime.getHour();
        System.out.println(hour);

        int dayOfYear = localDateTime.getDayOfYear();// 获取一年中的第几天
        System.out.println(dayOfYear);

        int dayOfMonth = localDateTime.getDayOfMonth();
        System.out.println(dayOfMonth);// 获取一个月中的第几天

        DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();// 获取星期
        System.out.println(dayOfWeek);

    }
}

LocalDateTime转换方法

在这里插入图片描述

package com.hfut.edu.test3;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class test1 {
    public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.of(2020,12,12,1,1,1);

        // 转换成LocalDate对象
        LocalDate localDate = localDateTime.toLocalDate();// 转换成日期对象  去掉时分秒
        System.out.println(localDate);

        // 转换成为一个LocalTime对象
        LocalTime localTime = localDateTime.toLocalTime();// 打印时分秒  去掉年月日
        System.out.println(localTime);
    }
}

LocalDateTime格式化和解析

在这里插入图片描述

  • 将LocalDateTime按照指定格式转换成日期对象
package com.hfut.edu.test3;

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

public class test2 {
    public static void main(String[] args) {
        // 指定日期 设置时间对象
        LocalDateTime localDateTime = LocalDateTime.of(2020,1,1,1,1,1);
        System.out.println(localDateTime);

        // 将日期对象 解析成指定格式的时间字符串
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");

        // 将指定日期对象按照指定格式进行转换
        String s = localDateTime.format(pattern);
        System.out.println(s);
    }
}
  • 将日期对象解析成LocalDateTime对象

package com.hfut.edu.test3;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class test3 {
    public static void main(String[] args) {
        String s = "2023年11月12日 13:12:11";// 准备解析的字符串
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        LocalDateTime parse = LocalDateTime.parse(s,pattern);// 将字符串按照指定格式解析成 LocalDateTime对象
        System.out.println(parse);
    }
}


LocalDateTime 增加或者减少时间的方法

在这里插入图片描述

package com.hfut.edu.test3;

import java.time.LocalDateTime;

public class test4 {
    public static void main(String[] args) {

        LocalDateTime localDateTime = LocalDateTime.of(2020,11,11,1,1,1);
        // 增加一年
        LocalDateTime newlocalDateTime = localDateTime.plusYears(1);// 增加一年  不是静态方法
        LocalDateTime newlocalDateTime1 = localDateTime.plusYears(-1);// 减少一年 不是静态方法

        System.out.println(newlocalDateTime);
        System.out.println(newlocalDateTime1);
        
    }
}

在这里插入图片描述
在这里插入图片描述

package com.hfut.edu.test3;

import java.time.LocalDateTime;

public class test4 {
    public static void main(String[] args) {

        LocalDateTime localDateTime = LocalDateTime.of(2020,11,11,1,1,1);
        // 增加一年
        LocalDateTime newlocalDateTime = localDateTime.plusYears(1);// 增加一年  不是静态方法
        LocalDateTime newlocalDateTime1 = localDateTime.plusYears(-1);// 减少一年 不是静态方法

        System.out.println(newlocalDateTime);
        System.out.println(newlocalDateTime1);

        LocalDateTime new1 = newlocalDateTime1.minusYears(1);// 减少一年
        System.out.println(new1);

    }
}

修改时间的方法

在这里插入图片描述

package com.hfut.edu.test3;

import java.time.LocalDateTime;

public class test5 {
    public static void main(String[] args) {

        LocalDateTime localDateTime = LocalDateTime.of(2020,1,1,1,1,1);

        // 修改时间方法  不是静态方法
        LocalDateTime localDateTime1 = localDateTime.withYear(2048);
        System.out.println(localDateTime1);// 将时间对象中的年份 修改成2048


    }
}

时间间隔对象

在这里插入图片描述

package com.hfut.edu.test3;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;

public class test6 {
    public static void main(String[] args) {
        LocalDate localDate1 = LocalDate.of(2020,1,1);
        LocalDate localDate2 = LocalDate.of(2021,11,11);

        // 计算时间间隔
        Period between = Period.between(localDate1, localDate2);
        System.out.println(between);

        System.out.println(between.getYears());
        System.out.println(between.getMonths());


    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JAVA程序设计】(C00099)基于SpringBoot的外卖订餐小程序(原生开发)

基于SpringBoot的外卖订餐小程序&#xff08;原生开发&#xff09;项目简介项目获取开发环境项目技术运行截图项目简介 基于SpringBootvue开发的原生外卖点餐微信小程序&#xff0c;包括用户小程序登录以及网页端的商家登录。本系统分为三个权限&#xff1a;商家、用户和游客&…

第七章.机器学习 Scikit-Learn—最小二乘法回归,岭回归,支持向量机,K_means聚类算法

第七章.机器学习 Scikit-Learn 7.1 Scikit-Learn简介 Scikit-Learn简称(SKlearn)是Python的第三方模块&#xff0c;是机器学习领域当中知名的Python模块之一&#xff0c;对常用的机器学习算法进行了封装&#xff0c;包括回归(Regression)&#xff0c;降维(Dimensionality Redu…

地质灾害监测预警系统构成,功能,监测设备介绍

平升电子地质灾害监测预警系统&#xff0c;应用平升物联网遥测终端机、专业测量仪器和传感设备、预警广播设备、地质灾害监测预警平台&#xff0c;基于4G/5G/NB-IoT/LoRa/光纤/北斗卫星通信网络&#xff0c;实时在线监测地质灾害隐患点的地表位移、地表裂缝、深部位移、降雨量、…

Simulink-过零检测与代数环

过零检测过零检测即通过Simulink为模块注册若干过零函数&#xff0c;当模块变化趋势剧烈时&#xff0c;过零函数将会发生符号变化。每个采样点仿真结束时&#xff0c;Simulink检测过零函数是否有符号变化&#xff0c;如果检测到过零点&#xff0c;则Simulink将在前一个采样点和…

院内导航方案怎么样,低成本的智慧医院室内导航一站式解决方案

很多智慧医院的方案里都提到了院内导航&#xff0c;它俨然已经成为智慧医院套餐中的“招牌菜”&#xff0c;甚至被打上了“导航神器”的绰号&#xff0c;其中电子地图作为大家最喜闻乐见的高效应用形式&#xff0c;可以高效的为病患提供导医服务&#xff0c;实现院内导航功能&a…

集群多机ROS通信中间件:swarm_ros_bridge

最近写了一个无线网络环境下&#xff08;比如WIFI&#xff09;多机ROS通信的项目swarm_ros_bridge&#xff1a; https://gitee.com/shu-peixuan/swarm_ros_bridge A lightweight middle interface that enables specified ROS message transmission among swarm robots throu…

国内出海企业常见的跨境网络问题分析及解决方案

经济全球化趋势发展得如火如荼&#xff0c;越来越多的中国企业走出国门&#xff0c;兴起包括跨境电商、虚拟商品、游戏出海等新贸易形式。但在业务开拓过程中&#xff0c;由于远距离传输的特殊性&#xff0c;出海企业经常面临网络传输慢、不稳定、延迟、掉线等网络问题&#xf…

0基础如何开始学习计算机知识?

一、计算机的基本操作 计算机中只有文件和文件夹 计算机中&#xff0c;只有两样东西&#xff0c;文件和文件夹。 文件夹&#xff1a;本身不存储数据内容。文件夹是用来组织和管理文件的。 文件&#xff1a; 所有的txt文本文档&#xff0c;音乐&#xff0c;视频&#xff0c;图…

2022年国外LEAD收入情况

欢迎关注勤于奋每天12点准时更新国外LEAD相关技术这个收入情况&#xff0c;最喜欢关心&#xff0c;最喜欢看的人应该是新手和观望的人最想知道的&#xff0c;LEAD收入只要操作了&#xff0c;赚钱肯定是没问题&#xff0c;我一直这样说&#xff0c;而且我公众号叫勤于奋&#xf…

【Spring(四)】万字详解bean的实例化

文章目录前言1.bean实例化1.1 bean的基础配置1.2 bean的实例化-构造方法1.3 bean的实例化-静态工厂1.4 bean的实例化-实例工厂与FactoryBean总结前言 在上篇文章&#xff0c;我们已经完成了入门案例的学习&#xff0c;在入门案例中&#xff0c;我们讲了三块东西&#xff0c;首先…

《Kotlin核心编程》笔记:函数和Lambda表达式

高阶函数和lambda表达式 函数式语言⼀个典型的特征就在于函数是头等公民——我们不仅可以像类⼀样在顶层直接定义⼀个函数&#xff0c;也可以在⼀个函数内部定义⼀个局部函数&#xff0c;如下所示&#xff1a;所谓的高阶函数&#xff0c;你可以把它理解成“ 以其他函数作为参数…

Debian10,docker单机安装ThingsBoard-3.3.2

1.编译项目源码 源代码编译ThingsBoard-3.3.2 2.环境准备 修改ssh登录配置 sudo vi /etc/ssh/sshd_config 打开密码登录和root用户登录3.安装docker 更新apt sudo apt update安装必备软件 sudo apt install apt-transport-https ca-certificates curl gnupg2 software-p…

SpringBoot异步方法(官方案例)

在线文档项目结构 1.源码克隆&#xff1a;git clone https://github.com/spring-guides/gs-async-method.git 2.包含两个项目initial和complete&#xff0c;initial可以根据文档练习完善&#xff0c;complete是完整项目 3.功能描述&#xff1a;构建查找服务&#xff0c;异步查询…

Linux搭建Docker版FTP,命令与Dockerfile两种方式以及容器编码解决

Linux搭建Docker版FTP&#xff0c;命令与Dockerfile两种方式以及容器编码解决一、Linux搭建Docker版FTP二、修改 Docker 容器内部 locale 系统编码最终待实现效果&#xff0c;这个方式容器内部编码并未永久改变三、编写Dockerfile方式加载带UTF-8编码环境的镜像3.1Dockerfile构…

【LINUX权限】

目录&#xff1a;前言一、shell二、权限&#xff08;一&#xff09;文件权限&#xff08;二&#xff09;权限相关指令chmod&#xff08;修改权限&#xff09;su 、sudo&#xff08;提权&#xff09;root提权chown 、chgrpumask&#xff08;掩码&#xff09;file&#xff08;三&…

性能测试工具 Lmbench 的使用方法以及解析运行结果

1. Lmbench 简介 Lmbench 是一款简易可以移植的内存测试工具&#xff0c;其主要功能有&#xff0c;带宽测评&#xff08;读取缓存文件、拷贝内存、读/写内存、管道、TCP&#xff09;&#xff0c;延时测评&#xff08;上下文切换、网络、文件系统的建立和删除、进程创建、信号处…

MYSQL中的14个实用的功能

1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出用户表中,名称不同的用户的具体名称有哪些? 具体sql如下: select name from `user` group by name; 但如果想把name相同的code拼接在一起,放到另外一列中该怎么办呢? 答:…

Genesis一款基于Domino的app store应用超市

大家好&#xff0c;才是真的好。 众所周知&#xff0c;App Store是苹果iOS系统生态成功的关键因素。Domino作为一款企业应用平台&#xff0c;很多年前&#xff0c;就有人提出要创建Domino平台上的App Store。 其实比IOS早很多年前就有类似的应用管理&#xff0c;早在2000年的…

代码随想录之回溯第一课

要领&#xff1a;类型题目&#xff0c;用具体的一个例子来记忆&#xff0c;就够了&#xff0c;印象更加深刻。 一个题目&#xff0c;感觉理解不深刻&#xff0c;不透彻&#xff0c;不清晰&#xff0c;不熟练&#xff0c;就是不达标。 怎么做&#xff1f; 每天回顾复习看一次&am…

DD-1/50 12.5-50mA【接地继电器】

系列型号&#xff1a; DD-1/40接地继电器 DD-1/50接地继电器 DD-1/60接地继电器 一、 用途及工作原理 DD-1型接地继电器为瞬时动作的过电流继电器&#xff0c;用作小电流接地电力系统高电压三相交流发电机和电动机的接地零序过电流保护。继电器线圈接零序电流互感器(电缆式、…