文档章节

java日期使用总结

Q
 QQ459452940
发布于 2016/11/23 16:16
字数 1245
阅读 1
收藏 0

一、概述  

java 中日期是一个复杂对象:

1.java.util.Date,精确到毫秒,表示一个瞬时
2.java.util.Calendar 提供了日期分化为YEAR、MONTH、DAY_OF_MONTH、HOUR等的处理方法

二、常用方法

1.java.util.Date常用方法

 boolean after(Date when)
 测试此日期是否在指定日期之后。

 boolean before(Date when)
 测试此日期是否在指定日期之前。

 int compareTo(Date anotherDate)
 比较两个日期的顺序。

 boolean equals(Object obj)
比较两个日期的相等性。

 long getTime()
 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

 void setTime(long time)
 设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。

2.java.util.Calendar 常用方法

Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = Calendar.getInstance();

可以使用下面方法把日历定到任何一个时间:
set(int year ,int month,int date,int hour,int minute,int second)

如果想获得年份、月份、小时等信息可以使用:
get(Calendar.Month);这样的方法 0表示一月,1表示二月
get(Calendar.DAY_OF_MONTH)获得这个月的第几天
get(Calendar.DAY_OF_YEAR)获得这个年的第几天
getTimeMillis()获得当前时间的毫秒表示

abstract void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量。

boolean after(Object when)
判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。

boolean before(Object when)
判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。

void clear()
将此 Calendar 的所日历字段值和时间值(从历元至现在的毫秒偏移量)设置成未定义。

void clear(int field)
将此 Calendar 的给定日历字段值和时间值(从历元至现在的毫秒偏移量)设置成未定义。

int compareTo(Calendar anotherCalendar)
比较两个 Calendar 对象表示的时间值(从历元至现在的毫秒偏移量)。

protected void complete()
填充日历字段中所有未设置的字段。

protected abstract void computeFields()
将当前毫秒时间值 time 转换为 fields[] 中的日历字段值。

protected abstract void computeTime()
将 fields[] 中的当前日历字段值转换为毫秒时间值 time。

int get(int field)
返回给定日历字段的值

int getActualMinimum(int field)
给定此 Calendar 的时间值,返回指定日历字段可能拥有的最小值。

String getDisplayName(int field, int style, Locale locale)
返回给定 style 和 locale 下的日历 field 值的字符串表示形式。

Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
返回给定 style 和 locale 下包含日历 field 所有名称的 Map 及其相应字段值。

int getFirstDayOfWeek()
获取一星期的第一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。

static Calendar getInstance()
使用默认时区和语言环境获得一个日历。

static Calendar getInstance(Locale aLocale)
使用默认时区和指定语言环境获得一个日历。

static Calendar getInstance(TimeZone zone)
使用指定时区和默认语言环境获得一个日历。

static Calendar getInstance(TimeZone zone, Locale aLocale)
使用指定时区和语言环境获得一个日历。

abstract int getLeastMaximum(int field)
返回此 Calendar 实例给定日历字段的最低的最大值。

abstract int getMaximum(int field)
返回此 Calendar 实例给定日历字段的最大值。

abstract int getMinimum(int field)
返回此 Calendar 实例给定日历字段的最小值。

Date getTime()
返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。

long getTimeInMillis()
返回此 Calendar 的时间值,以毫秒为单位。

TimeZone getTimeZone()
获得时区。

protected int internalGet(int field)
返回给定日历字段的值。

boolean isLenient()
判断日期/时间的解释是否为宽松的。

boolean isSet(int field)
确定给定日历字段是否已经设置了一个值,其中包括因为调用 get 方法触发内部字段计算而导致已经设置该值的情况。

abstract void roll(int field, boolean up)
在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。

void roll(int field, int amount)
向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。

void set(int field, int value)
将给定的日历字段设置为给定值。

void set(int year, int month, int date)
设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。

void set(int year, int month, int date, int hourOfDay, int minute)
设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。

void set(int year, int month, int date, int hourOfDay, int minute, int second)
设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。

void setFirstDayOfWeek(int value)
设置一星期的第一天是哪一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。

void setTime(Date date)
使用给定的 Date 设置此 Calendar 的时间。

void setTimeInMillis(long millis)
用给定的 long 值设置此 Calendar 的当前时间值。
 

本文转载自:

共有 人打赏支持
Q
粉丝 0
博文 1
码字总数 0
作品 0
朝阳
私信 提问
Java 线程不安全的SimpleDateFormat

SimpleDateFormat是Java提供的一个格式化和解析日期的工具类 但是由于它是线程不安全的,多线程共用一个SimpleDateFormat实例对日期进行解析或者格式化会导致程序出错 问题重现 public class...

晨猫
01/31
0
0
浅谈Java SE新版本发布线路图

Java SE 9发布于2017年09月22日,也就是从这个版本开始,Java版本遵循半年一个版本的更新速度,Oracle将每三年指定一个版本作为长期支持(LTS)版本。到目前为止,已经发布了Java SE 10和Jav...

韬声依旧在路上
09/30
0
0
java和mysql之间的时间日期类型传递

mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59 timestamp 4bytes xxxx-xx-xx xx:xx:xx 1970-01-01 00:00:01到......

为了美好的明天
2017/10/31
0
0
Java的九个知识点

关于java编程的知识,有人会问哪些是重要的知识点,不知道大家是否都知道呢? 现在给大家分享一下! 1.多线程并发 多线程是Java中普遍认为比较难的一块。多线程用好了可以有效提高cpu使用率,...

紫魅编程
2016/09/25
874
2
赶紧重写 Java 的时间和日期 API 吧!

最近 Java.net 的投票问题是:“在 Java 8 中实现 JSR-310(新的 Java 日期和时间 API)有多么重要? ”在这篇帖子发布的时候,对该话题已经有超过 150 条回应。其中“觉得非常重要”(53%),“...

墙头草
2012/03/27
5K
26

没有更多内容

加载失败,请刷新页面

加载更多

计算机系统要素 C5

本章值得一提的是组织计算机的结构。Hack 的指令和数据是分开存储的,因此它的 CPU 有两个 input: IN inM[16], // M value input (M = contents of RAM[A]) instruction[16],...

lionets
15分钟前
0
0
SpringSecurity404需要注意的地方

在使用@RequestMapping的时候路径的值如果写为("auth"),虽然用的时候前面加不加"/"没有区别,但是在配置了SpringSecurity的http.authorizeRequests().antMatchers()时就必须要注意了! 🌰1...

百萬馬力
18分钟前
0
0
10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享

作者:闲鱼技术-宗心 12月4日,google flutter团队宣布第一个flutter正式版本发布。次日,Flutter Live Beijing 会议上,google flutter团队邀请了在这一技术方案中重要的合作伙伴闲鱼团队分...

阿里云官方博客
19分钟前
1
0
RxJava window操作符

原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%204%20-%20Concurrency/3.%20Sequences%20of%20coincidence.md Sequences of coincidence Rx试图避免管道(pipeline)外......

woshixin
26分钟前
1
0
05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》

本期视频实现了博客的详情页面; 内容简介:使用了标签函数layout完成详情功能 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK #标签函数 layo...

Gavin-King
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部