简单日期格式化的使用
简单日期格式化的使用
面试题: 有一个时间 2021年08月06日 11:11:11 往后 2天 14小时 49分 06秒后的时间是多少。
代码:
public static void main(String[] args) throws ParseException {
// 目标: 学会使用SimpleDateFormat解析字符串时间成为日期对象。
// 有一个时间 2021年08月06日 11:11:11 往后 2天 14小时 49分 06秒后的时间是多少。
// 1、把字符串时间拿到程序中来
String data = "2021年08月06日 11:11:11";
// 2、把字符串时间解析成日期对象(本节的重点):形式必须与被解析时间的形式完全一样,否则运行时解析报错!
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = sdf.parse(data);
// 3、往后走2天 14小时 49分 06秒
long time = d.getTime() + (2L * 24 * 60 * 60 + 14 * 60 * 60 + 49 * 60 + 6) * 1000;
// 4、格式化这个时间毫秒值就是结果
System.out.println(sdf.format(time));
}
补充理解(与面试题无关,仅对面试题起到加深理解的目的)
代码:
public static void main(String[] args) {
// 1、日期对象
Date date = new Date();
System.out.println(date);
// 2、格式化这个日期对象 (指定最终格式化的形式)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE a");
// 3、开始格式化日期对象成为喜欢的字符串形式
String rs = sdf.format(date);
System.out.println(rs);
System.out.println("----------------------------");
// 4、格式化时间毫秒值
// 需求:请问121秒后的时间是多少
long time = System.currentTimeMillis() + 121 * 1000;
String rs2 = sdf.format(time);
System.out.println(rs2);
System.out.println("------------解析字符串时间,下个代码---------------");
}
补充代码2
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
本文来自博客园,作者:Haziy,转载请注明原文链接:https://www.cnblogs.com/zhangyouren/p/16442337.html
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。