Skip to main content

时间

在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用:

import java.util.Date;

Date date = new Date();
System.out.println(date);

输出

Mon Jun 22 21:00:47 CST 2020

其中, Mon 代表 Monday (星期一), Jun 代表 June (六月), 22 代表 22 号, CST 代表 China Standard Time (中国标准时间,也就是北京时间,东八区)。

从上面的输出结果中,我们发现,默认的时间格式不是很友好,与我们日常看到的日期格式不太一样,如果想要按指定的格式进行显示,如 2014-06-11 09:22:30 ,那该怎么做呢?

此时就到了 java.text 包中的 SimpleDateFormat 类大显身手的时候了!!可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

  1. 使用 format() 方法将日期转换为指定格式的文本
import java.text.SimpleDateFormat;


// 使用format()方法将日期转换为指定格式的文本
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// 创建Date对象,表示当前时间
Date now = new Date();

// 调用format()方法,将日期转换为字符串并输出
System.out.println(sdf1.format(now));
System.out.println(sdf2.format(now));
System.out.println(sdf3.format(now));

输出

2020年06月22日 21时04分07秒
2020/06/22 21:04
2020-06-22 21:04:07
  1. 使用 parse() 方法将文本转换为日期
// 使用parse()方法将文本转换为日期
String d = "2014-6-1 21:05:36";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {
// 调用parse()方法,将字符串转换为日期
Date date = sdf.parse(d);
System.out.println(date);
}catch (Exception e)
{
System.out.println(e);
}