整理Java基础知识--Date & Time1

本文介绍Java中使用Date类处理日期时间的方法,包括Date对象的创建、日期比较、日期格式化等,并展示了SimpleDateFormat和printf两种格式化方式的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.util 包提供了Date 类来封装当前的日期和时间 提供了2个函数来实例化 Date 对象
1.Date()
2.Date(long millisec)//参数是从1970/01/01起的毫秒数
日期比较
Java使用以下三种方法来比较两个日期:
1.使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2.使用方法 before(),after() 和 equals()。
3.使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
使用 SimpleDateFormat 格式化日期
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

import java.util.*;
import java.text.*;
public class DateDemo {
   public static void main(String args[]) { 
      Date dNow = new Date( );
      SimpleDateFormat ss = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      System.out.println("Current Date: " +ss.format(dNow));
   }
}
输出结果:
Current Date:星期日 2018.01.14 at 00:29:06 上午 CST

日期和时间的格式化编码

字母描述
G纪元标记
y四位年份
M月份
dText
h12小时制
H24小时制
m
s
S毫秒
E星期几
D一年中的日子
F一个月中第几周的周几
w一年中第几周
W一个月的第几周
aa.m/p.m
k一天中的小时1-24
KA.M./P.M. (0~11)格式小时
z时区
'文字定界符
''单引号

使用printf格式化日期

转换符描述
c包括全部日期和时间信息
F"年-月-日"格式
D"月/日/年"格式
r"HH:MM:SS PM"格式(12时制)
T"HH:MM:SS"格式(24时制)
R"HH:MM"格式(24时制)
import java.util.Date;
public class DateDemo {
  public static void main(String args[]) { 
     Date date = new Date();
    System.out.printf("全部日期和时间信息:%tc%n",date);          
    System.out.printf("年-月-日格式:%tF%n",date);  
    System.out.printf("月/日/年格式:%tD%n",date);  
    System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);  
    System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);  
    System.out.printf("HH:MM格式(24时制):%tR",date);  
  }
}
输出结果:
全部日期和时间信息:星期日 一月 14 00:44:02 CST 2018
年-月-日格式:2018-01-14
月/日/年格式:01/14/18
HH:MM:SS PM格式(12时制):12:44:02 上午
HH:MM:SS格式(24时制):00:44:02
HH:MM格式(24时制):00:44
F:\>

重复提供日期,可格式化:

import java.util.Date;  
public class DateDemo { 
   public static void main(String args[]) {
       Date date = new Date();       
       System.out.printf("%1$s %2$tB %2$td %2$tY",  "Due date:", date);
             System.out.printf("%s %tB %<te %<tY", "Due date:", date);
   }
}
输出结果:
Due date: 一月 14 2018
Due date: 一月 14 2018
%1$s>>"Due date:" 输出第一个字符串:Due date:
%2$tB %2$td %2$tY>>date 输出第2个字符串date中的月日年

**Date 对象创建后 可调用的方法:

方法描述
boolean after(Date date)若当调用此方法的Date对象在指定日期之后返回true,否则返回false
boolean before(Date date)若当调用此方法的Date对象在指定日期之前返回true,否则返回false
Object clone( )返回此对象的副本
int compareTo(Date date)比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
int compareTo(Object obj)若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。
boolean equals(Object date)当调用此方法的Date对象和指定日期相等时候返回true,否则返回false
long getTime( )返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
int hashCode( )返回此对象的哈希码值。
void setTime(long time)用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
String toString( )把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

**

转载于:https://blog.51cto.com/12431776/2060794

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值