Java的SimpleDateFormat类

  在Java中,java.util包中的Date类可以获取当前时间,但是显示结果的时间格式不是很友好。而java.text包中的SimpleDateFormat类可以对日期时间进行格式转化,可以将日期转换成指定格式的文本,也可以将文本转换成日期。

1、日期转换为文本

  使用format()方法

//创建Date对象,表示当前时间
Date d = new Date();
//创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用format()方法,格式化时间,转换为指定格式字符串
String today = sdf.format(d);
//输出转换后的字符串
System.out.println(today);

2、文本转换为日期

  使用parse()方法

//创建日期格式的字符串
String day = "2016年4月10日11:11:11";
//创建SimpleDateFormat对象,指定字符串的日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
//调用parse()方法,将字符串转换为日期
Date date = df.parse(day);
//输出转换后的时间
System.out.println("当前时间:" + date);

  注意:

  1. 调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,即ParseException,因此需要进行异常处理
  2. 使用Date类时要导入java.util包,使用SimpleDateFormat时需要导入java.text包

3、Calendar类

  Date类主要作用是获得当前时间,也有一些设置时间及其他的功能,但是由于本身设计的问题,不建议使用,更推荐使用Calendar类进行时间和日期的处理。

  java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance()。然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);

  Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

public class HelloWorld {

    public static void main(String[] args) {
        // 创建Calendar对象
        Calendar c = Calendar.getInstance();

        // 将Calendar对象转换为Date对象
        Date date = c.getTime();

        // 创建SimpleDateFormat对象,指定目标格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 将日期转换为指定格式的字符串
        String now = sdf.format(date);
        System.out.println("当前时间:" + now);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值