当前位置: 首页 > news >正文

java中Date类,SimpleDateFormat类和Calendar类

Date类

public Date()

创建一个Date对象,代表的是系统当前此刻的日期时间

public Date(long date)

Constructs a Date object using the given milliseconds time value.

把时间毫秒值转变成Date日期对象

public void setTime(long date)

Sets an existing Date object using the given milliseconds time value. 

设置日期对象的时间为当前时间毫秒值(data)对应的时间

 public long getTime()

Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.

获取总的毫秒值

import java.util.Date;public class test {public static void main(String[] args) {//创建一个Date对象,代表系统当前时间信息Date d=new Date();System.out.println(d);//Tue Apr 02 17:41:17 CST 2024//拿到时间毫秒值long time=d.getTime();System.out.println(time);//把时间毫秒值变成时间对象time+=2*1000;Date d2=new Date(time);System.out.println(d2);//Tue Apr 02 17:43:17 CST 2024//直接把日期对象的时间通过setTime方法修改Date d3=new Date();System.out.println(d3);//Tue Apr 02 17:41:17 CST 2024d3.setTime(time);//把日期对象的时间改成此time毫秒的时间System.out.println(d3);//Tue Apr 02 17:43:17 CST 2024}
}

SimpleDateFormat类

可以把简单日期格式化,可以用来把日期对象,时间毫秒值格式化我们想要的形式

public SimpleDateFormat(String pattern)

创建一个简单日期格式化对象,并封装时间的格式 

The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):

 

例子:
 

public final String format(Date date)

将日期格式成日期/时间字符串 

Public final String format(Object time)

将时间毫秒值格式成日期/时间字符串 

import java.text.SimpleDateFormat;
import java.util.Date;public class test {public static void main(String[] args) {Date d=new Date();System.out.println(d);long time= d.getTime();System.out.println(time);SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss  EEE  a");String ss=s1.format(d);String ss2=s1.format(time);System.out.println(ss);System.out.println(ss2);/* Wed Apr 03 18:49:12 CST 202417121413523572024年04月03日 18:49:12  周三  下午2024年04月03日 18:49:12  周三  下午*/}
}

public Date parse(String source)

把字符串时间解析成日期对象 

 

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class test2 {public static void main(String[] args) throws ParseException {String dateStr="2024-01-01 12:00:00";//1:创建一个简单格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序出bug;SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d = sim.parse(dateStr);System.out.println(d);//Mon Jan 01 12:00:00 CST 2024

一个简单的案例

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class test3 {public static void main(String[] args) throws ParseException {String start ="2024-11-11 0:0:0";String end="2024-11-11 0:10:0";String x="2024-11-11 0:01:18";String j="2024-11-11 0:10:18";SimpleDateFormat s=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");Date starDt=s.parse(start);Date endDt=s.parse(end);Date xDt=s.parse(x);Date jDt=s.parse(j);//把日期对象变成时间毫秒值来比较long startTime=starDt.getTime();long endTime=endDt.getTime();long xTime=xDt.getTime();long jTime=jDt.getTime();if(xTime>=startTime&&xTime<=endTime){System.out.println("x在时间范围内");}else System.out.println("x不在时间范围内");if(jTime>=startTime&&jTime<=endTime){System.out.println("j在时间范围内");}else System.out.println("j不在时间范围内");}
}

Calendar类:抽象类

public static Canledar getInstance()

获取当前日历对象

public int get(int field)

获取日历中的某个信息

public final Date getTime()

获取日期对象

public long getTimeInMills()

获取时间毫秒值

public void set(int field,int value)

修改日历的某个信息

public void add(int field,int amount)

为某个信息增加/减少指定的值 

 

import java.util.Calendar;
import java.util.Date;public class test {public static void main(String[] args) {//1:得到系统此刻时间对应的日历对象Calendar now =Calendar.getInstance();System.out.println(now);//2:获取日历的某个信息int year=now.get(Calendar.YEAR);System.out.println(year);//2024int month=now.get(Calendar.MONTH);System.out.println(month);//3(月份是从0开始计算的。所以当前是4月份)//3:拿到日历记录的时间对象Date d=now.getTime();System.out.println(d);//Wed Apr 03 19:42:30 CST 2024//4:拿到日历记录的时间毫秒值long time =now.getTimeInMillis();System.out.println(time);//1712144598810//5:修改日历中的某个信息now.set(Calendar.MONTH, 6);//将月份改成7月份System.out.println(now);now.set(Calendar.DATE, 125);//改成一年中的第125天//6:为某个信息增加减少now.add(Calendar.MONTH, 2);//月份加2now.add(Calendar.MONTH, -1);//月份减一}
}

http://www.lryc.cn/news/331654.html

相关文章:

  • 施耐德 PLC 控制系统 产品 + 软件总体介绍 2020
  • UniApp 应用发布到苹果商店指南
  • KamaCoder 46. 携带研究材料(第六期模拟笔试)
  • MySQL的基本操作(超详细)
  • 自动驾驶之心规划控制笔记
  • Linux中部署Java jar 包 shell 脚本
  • auto.js v1.4.4 实现自动打卡
  • 【Linux实验室】NFS、DHCP的搭建
  • Samba 总是需要输入网络凭证
  • 图像处理_积分图
  • B/S架构SaaS模式 医院云HIS系统源码,自主研发,支持电子病历4级
  • (C)1005 继续(3n+1)猜想
  • 编译好的C++应用程序拷贝到其它电脑,提示dll未找到依赖项的解决方法。
  • wps 开发插件
  • C语言----数据在内存中的存储
  • 【Linux学习】Linux 的虚拟化和容器化技术
  • Delphi 是一种内存安全的语言吗?
  • golang语言系列:Scrum、Kanban等敏捷管理策略
  • QT背景介绍
  • 动态规划详解(Dynamic Programming)
  • 前端大额计算,真正解决js精度丢失问题
  • Android笔记--MediaCodec(一)
  • Linux简单介绍
  • Servlet 的基本理解
  • JavaScript之applye、bind和call方法详解
  • Docker,anaconda环境的部署与迁移
  • 【大数据运维】Hbase shell 常见操作
  • LeetCode-217存在重复的元素
  • 基于两个单片机串行通信的电子密码锁设计
  • 产品经理功法修炼(3)之产品设计