Date,SimpleDateFormate类和Calendar类

目录

 

一、Date

二、SimleDateFormate类

        作用

练习一

练习二

三、Calendar类

        概述

                Calendar小结


 

一、Date

构造方法说明
public Date()创建Date对象,表示一个时间
public Date(long date)创建Date对象,表示指定时间
public void setTime(long time)设置/修改时间毫秒值
public long getTime()获取时间对象的毫秒值

        直观看可能有点不理解,那就上代码:

import java.util.Date;public class dateDemo {public static void main(String[] args) {//1、创建一个表示时间的对象Date d1 = new Date();//打印结果为系统时间(即电脑上显示的时间)System.out.println("电脑上显示的时间:");System.out.println(d1);//2、创建对象表示个指定的时间Date d2 = new Date(0L);//这个0表示从时间结点开始过了0毫秒的时间System.out.println("过了_时间的输出:");System.out.println(d2);//3、setTime()表示修改时间d2.setTime(1000L);System.out.println("setTime()的输出:");System.out.println(d2);//getTime()获取时间的毫秒对象long time = d2.getTime();System.out.println("获取时间的毫秒为:");System.out.println(time);}
}

        运行截图如下:

c99bfc8f667048229a510cb46271a6c2.png

二、SimleDateFormate类

        作用:

                1、格式化:把时间变成我们喜欢的格式

                2、解析:把字符串便是的时间变成Date对象

构造方法说明
public SimpleDateFormate()构造一个类,使用默认格式
public SimpleDateFormat(String pattern)构造一个类,使用指定格式
常用方法说明
public final String formate(Date date)格式化(日期对象→字符串)
oublic Date parse(String source)解析(字符串→日期对象)

                        补:格式化的时间形式的常用的模式对应关系如下

                                y:年        M:月        d:日        H:时        m:分        s:秒(小写!)

                                eg.2023-11-11 13:27:06→yyyy-MM-dd HH:mm:ss

                                     2023年11月11日 13:27:06→yyyy年MM月dd日 HH:mm:ss

        写个题来练练手:

练习一:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class simpledateformate {public static void main(String[] args) throws ParseException {//1.利用空参构造创建simpleDateFormat对象,默认格式SimpleDateFormat sdf1 = new SimpleDateFormat();Date date1 = new Date(0L);String newDate1 = sdf1.format(date1);System.out.println(newDate1);//2.利用带参构造创建simpleDateFormat对象,指定格式SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd月 HH:mm:ss");String newDate2 = sdf2.format(date1);System.out.println(newDate2);//星期可以用E表示SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd月 HH:mm:ss E");String newDate3 = sdf3.format(date1);System.out.println(newDate3);//解析://定义一个字符串String str = "2022.11.11 11:11:11";//利用空参构造创建simpleDateFormat对象SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");Date date2 = sdf4.parse(str);System.out.println(date2);}
}

        代码运行结果如下:

96580013588d4e41be008db3a6d65882.png

提示:大家的运行环境默认格式可能各不一样,知道这个知识点就行

练习二:

题目:

        假设:你的出生年月日为:2000-11-11。请用字符串表示这个数据,并将其转换为:2000年11月11日。

        代码如下:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class simpledateformateDEMO1 {public static void main(String[] args) throws ParseException {/*假设,你的出生年月日为: 2000-11-11*请用字符串表示这个数据,并将其转换为:2000年11月11日*/String str = "2000-11-11";SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");Date date = sdf1.parse(str);SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");String date1 = sdf2.format(date);System.out.println(date1);}
}

输入结果截图为:

7b7489e32edd4e8f8ae754cc79f788fb.png

三、Calendar类

        概述:

                1、Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年,月,日。

                2、细节:Calendar是一个抽象类,不能直接创建对象

                3、获取Calendar日历类对象的方法

方法名说明
public static Calendar getInstance获取当前时间的日历对象

 

                4、Calendar常用方法

方法名说明
public final Date getTime()获取日期对象
public final setTime(Date date)给日历设置日期对象
public long getTimeInMills()得到时间毫秒值
public void setTimeInMills(long mills)取日历中的某个字段信息
public void set(int field, int value)修改日历的某个字段信息
public int get(int field)取日历中的某个字段信息
public void add(int field, int amount)为某个字段增加或减少指定值

代码及相关注意事项如下:

import java.util.Calendar;
import java.util.Date;public class CalendarDemo {public static void main(String[] args) {//1、获取日历对象/*细节1:*       Calendar不能直接new,而是通过静态对象(getInstance)来直接获取子类对象* 细节2:*       月份:范围:0~11。如果获取出来的是0,那么实际上就是一月*       星期:在外国人眼里,一周当中的第一天就是星期日。*           所以1(星期日),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)* 底层原理:*       会根据系统的不同时区来获取不同的日历对象(默认当前时间),会把时间中的纪元,年,月,日,时,分,秒等都放到一个数组当中*/Calendar c = Calendar.getInstance();System.out.println(c);System.out.println("---------------------------------");//修改日历中的时间//1、通过date修改Date d = new Date(0L);c.setTime(d);System.out.println(c);System.out.println("---------------------------------");//2、通过毫秒值进行修改Calendar c1 = Calendar.getInstance();Date time = c1.getTime();c.setTime(time);System.out.println(c);System.out.println("---------------------------------");//Java在Calendar类中,把索引对应的数字定义为了常量/*  1,表示年YEAR*   2,表示月MONTH*   3,表示一年中的第几周WEEK_OF_YEAR*   4,表示一个月中当中的第几周WEEK_OF_MONTH*   5,表示一个月当中的第几天DATE或者DAY_OF_MONTH*   6,表示一年当中的第几天DAY_OF_YEAR*   7,表示一周当中的第几天DAY_OF_WEEK*/int year = c.get(Calendar.YEAR);//因为月份是0~11所以在原来的基础上+1就是我们看到的日历上的月份了int month = c.get(Calendar.MONTH) + 1;int day = c.get(Calendar.DATE);int week = c.get(Calendar.DAY_OF_WEEK);System.out.println(year + "年" + month + "月" + day + "日" + weekValue(week));System.out.println("---------------------------------");//修改日历的方法c.set(Calendar.YEAR,2000);int year1 = c.get(Calendar.YEAR);int month1 = c.get(Calendar.MONTH) + 1;int day1 = c.get(Calendar.DATE);int week1 = c.get(Calendar.DAY_OF_WEEK);System.out.println(year1 + "年" + month1 + "月" + day1 + "日" + weekValue(week1));}//定义一个方法,将week值传入,输出星期几public static String weekValue(int index){String[] week = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};return week[index];}}

注:前三条虚线内的内容代码截图如下:

08c9e52f349a449299fdf1656d0b4fb6.png

代码总截图如下:

d43603826bd4406dabd43c79689e3762.png

                Calendar小结:

                        1、Calendar表示一个时间的日历对象。

                        2、通过getInstance方法后去对象

                        3、常见方法:

                                setXxx:修改        getXxx:获取        add:在原有的基础上进行增加或减少

                        4、细节点:

                                1·日历中月份的范围:0~11

                                2·日历中星期的特点:一周当中的第一天是星期日

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器变矿机,该如何应对?

开始 恶意的挖矿程序会导致服务器cpu的异常占用&#xff0c;很让人讨厌。起初&#xff0c;我只是使用top命令显示出占用cpu不正常的进程&#xff0c;发现其中一个进程占用了百分之九十九点几&#xff0c;然后通过kill -9 <PID>命令干掉它。但总是过不了几天&#xff0c;…

VRPSolverEasy:支持VRP问题快速建模的精确算法Python包

文章目录 前言一步步安装免费版主要模块介绍1. depot point2. customer point3. links4. vehicle type VRPTW 算例数据说明模型建立输出求解状态及结果 前言 VRPSolverEasy 是用于车辆路径问题&#xff08;VRP&#xff09;的最先进的分支切割和定价算法求解器1&#xff0c;它的…

[二]rtmp服务器搭建

[二]rtmp服务器搭建 一.测试二.使用Nginx搭建自己的rtmp服务器1.nginx是什么&#xff1f;2.环境准备 三、搭建过程1.安装编译 nginx 所需要的库2.下载 nginx-1.21.6.tar.gz3.下载 nginx-rtmp-module 4.解压5.编译6.启动nginx&#xff0c;检测nginx是否能成功运行7.配置nginx使用…

易飞ERP抛转钉钉签核,并自动审核易飞单据

支持易飞ERP所有单据送签到钉钉 &#xff08;v: rainholy&#xff09; 1、钉钉界面 2、易飞ERP单据配置 3、钉钉审批完后&#xff0c;自动审核易飞ERP单据

66.Go从零搭建一个orm框架【简版】

文章目录 一&#xff1a;前置学习1、 为什么要用orm2、Golang里面是如何原生连接MySQL的3、ORM框架构想 二: 开始造1、连接Connect2、设置/读取表名Table/GetTable3、新增/替换Insert/Replace4、条件Where5、条件OrWhere6、删除Delete7、修改Update8、查询9、设置查询字段Field…

AVL树 -- C++实现

AVL树 – C实现 1. AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1…

模具制造企业ERP系统有哪些?企业怎么选型适配的软件

模具的生产管理过程比较繁琐&#xff0c;涵盖接单报价、车间排期、班组负荷评估、库存盘点、材料采购、供应商选择、工艺流转、品质检验等诸多环节。 有些采用传统管理手段的模具制造企业存在各业务数据传递不畅、信息滞后、不能及时掌握订单和车间生产情况&#xff0c;难以对…

压力测试+接口测试(工具jmeter)

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因 为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是…

Jenkins持续集成项目搭建与实践

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 Jenkins简介 Jenkins是Java编写的非常流行的持续集成…

C++:类(Class)

内容整理自&#xff1a;The Cherno:C系列&#xff0c;2024年1月18日 --------------------------------------------------------------------------------------------------------------------------------- 简单地说&#xff0c; 类&#xff0c;只是 数据功能 的整合体。…

构建中国人自己的私人GPT—限时免费部署

在现实生活中&#xff0c;很多公司或个人的资料是不愿意公布在互联网上的&#xff0c;但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢&#xff1f;于是我们构建自己或公司的本地专属GPT变得非常重要。 先看效果&#xff1a; 解方程&#xff0c;24小…

Kotlin程序设计(二)面向对象

Kotlin程序设计中级篇 我们在前面已经学习了Kotlin程序设计的基础篇&#xff0c;本章我们将继续介绍更多Kotlin特性&#xff0c;以及面向对象编程。 函数 其实函数我们在一开始就在使用了&#xff1a; fun main() {println("Hello World") }我们程序的入口点就是…