java中的Date类
一、Date类简介
日期类主要包括Date类与Calendar类,这一节我们先介绍Date类, Date
表示特定的瞬间,精确到毫秒。Date类用于表示日期和时间,在计算机中的表示和我们现实世界使用差不多,但是还是有点区别的,而且还有中西文化之间的差异,所以在学习这个类之前,我们清楚Date类和现实世界之间对世界的之间的差异:
年份由整数表示,但是Date类的年份由1900开始算,也就是Date类的年份为y,那么现实世界就是 y + 1900 表示。
月份由从 0 至 11 的整数表示,也就是0 是一月、1 是二月等等;因此 11 是十二月。
日期(一月中的某天)按通常方式由整数 1 至 31 表示,这点和现实世界一致。
小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点,这点和现实世界一致。
分钟按通常方式由 0 至 59 的整数表示,这点和现实世界一致。
秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。
Date可是精确到毫秒,Date的元毫秒从1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
二、Date类常用方法
在java中,日期时间用java.util.Date来表示,调用默认构造器Data(),将会创建一个当前系统时间的Date对象,时间精确到毫秒。Date类常用方法是:
Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
boolean after(Date when)
测试此日期是否在指定日期之后。
boolean before(Date when)
测试此日期是否在指定日期之前。
int compareTo(Date anotherDate)
比较两个日期的顺序。
其它的还有很多获得年月日时分秒的函数,但是这些方法都已经过期,这些方法都已经Calendar.get(...)方法替代了,当然虽然过期了,但是还是可以使用的。示例代码如下:
public class DateStu {public static void main(String[] args) {// 获得操作系统的当前时间Date date = new Date();Date date2=new Date(1997,6,7);System.out.println(date.before(date2));//如果date2大于date返回 1 等于返回 0 小于 -1 System.out.println(date2.compareTo(date));// System.out.println("年:" + (date.getYear()+1900) + ",月:" + (date.getMonth()+1)+ ",日:" + date.getDate() + ",星期:" + date.getDay() + ",时:"+ date.getHours() + ",分:" + date.getMinutes() + ",秒:"+ date.getSeconds());System.out.println("现在的毫秒:"+date.getTime()/1000);System.out.println(date.toString());System.out.println(date.toLocaleString());//本地时间格式 }}
程序输出如下:
true
1
年:2014,月:2,日:20,星期:4,时:23,分:3,秒:5
现在的毫秒:1392908585
三、时间的格式化显示
各系统在显示时间的格式是不统一的,在中国一般采用英式日期,如“2013-02-02 17:30:24”的格式,而在美国时间的显示则为“月-日-年”的格式“02-02-2013 17:30:24”。要想格式化时间或者把字符串转换为Date类,可以使用java.text.Dateformat抽象类规定日期格式化的操作,具体常用的实现是java.text.SimpleDateformat类。
示例代码如下:
//1990年 9 月 4 日 //"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT //HH 24 小时,hh 12小时 SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd"); String dateFromt= sdf.format(date);//日期转换为字符串 System.out.println(dateFromt);//把字符串转换为日期 String inputdateFString="2013年09月8"; try {Date inputDate=sdf.parse(inputdateFString);System.out.println(inputDate); } catch (ParseException e) {// TODO Auto-generated catch block e.printStackTrace(); }
程序输出如下:
Thu Feb 20 23:03:05 CST 2014
2014-2-20 23:03:05
java中的Date类相关推荐
- java中使用 Date 和 SimpleDateFormat 类表示时间
使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...
- java 中常用的类
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l static double abs(double a) 获取double 的绝对值 l sta ...
- Java 中的 BigDecimal 类你了解多少?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:什么?你还在使用fastjson,性能太差了个人原创+1博客:点击前往,查看更多 作者:HikariCP 链接: ...
- 四十一、深入Java中的 File类
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- 后端:Java中的BigDecimal类你了解多少?
我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42) ...
- Java中的系统类–属性,System.out.println()
System class in java is one of the core classes and I have never seen any java developer who doesn't ...
- JAVA基础(12.Java中的常用类String)
目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...
- 探索 Java 中的 Date, Calendar, TimeZone 和Timestamp
探索 Java 中的 Date, Calendar, TimeZone 和Timestamp java 2010-12-31 08:56:49 阅读8 评论0 字号:大中小 订阅 对象 宋晟 (sh ...
- Java中的BigDecimal类你了解多少?
点击上方"IT牧场",选择"设为星标"技术干货每日送达! 来源:https://urlify.cn/naiEva 前言 我们都知道浮点型变量在进行计算的时候会出 ...
- Java中的Object类和Class类
Copyright©Stonee 在Java中,无论是类还是接口,它们在JVM的内存逻辑模型中都会存在Super和Class指针,分别指向根类(Object类)和反射类(Class类) 在这一篇blo ...
最新文章
- 今天有点时间,想写一个小说,说说面向对象的故事,主人是人类!(一)
- git学习指南_几十张动图告诉你 Git到底是怎么玩的
- 【C/C++】等分或指定行数把txt文档拆分成多份
- Webstorm中提示Cannot find module 'webpack.dev.conf.js'
- 无法嵌入互操作类型 请改用适用的接口_机器视觉可用的不同电缆和连接器类型以及相关利弊分析...
- LInux下du, df, top, free, pstack, su, sudo, adduser, password命令
- Android开发笔记(一百四十三)任务调度JobScheduler
- Windows多线程应用程序的编译和链接
- Redis GEO 特性在 LBS 中的应用总结
- Cisco无线AP在复杂企业环境配置指南
- K8s高可用集群部署
- 序列化:ProtoBuf 与 JSON 的比较 !
- 计算机i网络管理员证书四级,软考网络管理员试题练习(4)
- 【故事编程:Lambda表达式】之最甜的巧克力(二)
- 【CF335 E】Counting Skyscrapers
- java抽象类例子月薪年薪程序_利用抽象类给一个有工资收入和稿费收入的小伙伴算税...
- 《基于短时分数阶傅里叶变换的时频分析方法》
- 360手机怎样更新系统版本android,360手机推出新系统更新 N5的安卓7.X测试版发布...
- 官僚、傲慢、冷漠的腾讯开放平台
- Spring Boot保姆级入门,还不会过来胖我
热门文章
- Caffe傻瓜系列(11):caffe中的lr_policy选择
- C++ 动态命名和修改变量名 动态生成变量名 define
- C++ 纯虚函数 虚函数 override
- 使用悲观锁还是乐观锁
- 区块链 以太坊 验证区块
- hyperledger fabric cryptogen: command not found
- 基于springboot+LayUI的校园信息发布平台
- 对空进行判断需要注意什么?
- java多线程-线程安全
- arduino 读取串口信息hex_进阶教程1:Arduino串口通信与电脑控制LED