14_JavaSE_时间表示

在 Java 中,关于时间的表示一般是通过创建 Date 类的对象。既然是类,那么创建其对象的方法就很简单啦,我们看到,该类有两个构造方法:一个不提供参数,默认根据系统目前的时间来创建对象;另一个是提供一个 long 类型的参数,其表示从 1970 年 1 月 1 日起的毫秒数。以下为创建的例子。

Date date = new Date();
Date date = new Date(long along);

该类也提供了一些方法为我们使用,常见的方法如下:

//调用该方法的 Date 对象在参数时间之后,则返回 true ,否则返回 false
boolean after(Date date)
//调用该方法的 Date 对象在参数时间之前,则返回 true ,否则返回 false
boolean before(Date date)
//比较两个时间,相等则返回 0 ,调用该方法的对象在参数时间之前则返回负数,之后返回正数。
int compareTo(Date date)
//当调用该方法的 Date对象和参数日期相等则返回 true ,否则返回 false
boolean equals(Object date)
//把该 Date 对象转换为 String 形式(年月日 时分秒等表示)
String toString()

以上方法基本满足了我们对日期的操作,因为我们一般对日期的操作无非就是输出时间,或者对比两个时间。但这里有个问题:这里的输出时间它的格式是怎么样的?我们是否可以自己设计输出的形式(这里讲的是时间输出时的形式,是“年月日”?还是“日月年”?连接符是“汉字”,还是“-”等等)。

我们先来看看 toString 输出的格式:

public class Test {
    public static void main(String[] arg){
        Date date = new Date();
        System.out.println(date.toString());
    }
}
Fri Jan 07 19:49:21 CST 2022

我以我当前的时间为例,输出的格式是上面这样的,这种方式一来不适合我们的习惯,二来也无法改变形式,确实不够友好。因此我们引入了 SimpleDateFormat 类用于格式化显示时间。

public class Test {
    public static void main(String[] arg){
        Date dNow = new Date( );
        SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
        System.out.println("当前时间为: " + ft.format(dNow));
    }
}
当前时间为: 2022-01-07 07:51:52

上面这种方式的显示很显然更符合我们的习惯,而且更重要的是,我们同样可以自己定制,只需要用到字母作为占位符就好了(注意:字母是区分大小写的),其它的字符则可以根据自己的需要设计,它会自己显示出来的。

常用的字母其实不多,一般用到的有:
G 表示是公元前还是公元后 BC/AD
yyyy 一般四位出现,表示四位的年份 2012
MM 一般两位出现,表示月份 09
dd 一般两位出现,表示日期 20
hh 一般两位出现,表示12小时制的“时” 08
HH 一般两位出现,表示24小时制的“时” 17
mm 一般两位出现,表示分钟数 20
ss 一般两位出现,表示秒数 30
SS 一般两位出现,表示毫秒数 26
E 一般一位出现,表示星期几 星期五

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执章学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值