这些功能应该很多人都知道了,只是一开始我不懂,就走了弯路,后台传来的是yyyy-MM-dd,显示要求是,日月有一位数时前面不能加0,eg:2020-03-22要显示成2020年3月22日,当时自己用了最笨的方法用substring各种截取拼装、以及获取本地日期也是,后面偶然间得知,其实不用那么麻烦的,再次记录一下。
一.yyyy-MM-dd HH:mm:ss .eg:2020-03-22 11:11:11
DateFormat dateTimeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
二.获取年月日,但日月是个位数时,不补充0。eg:2020-3-22
DateFormat dateTimeformat = new SimpleDateFormat("yyyy-M-d");
三.把-变成对应的年月日字。eg:2020年3月22日或者2020年03月22日
DateFormat dateTimeformat = new SimpleDateFormat("yyyy年M月d日");
四.只获取日月。eg:3月22日 或03月22日
DateFormat dateTimeformat = new SimpleDateFormat("M月d日");//3月22日
DateFormat dateTimeformat = new SimpleDateFormat("MM月dd日");//03月22日
五.把标准的 yyyy-MM-dd HH:mm:ss格式变成自己想要的。
public static String switchdate(String str){//str是传过来的yyyy-MM-dd HH:mm:ss
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
String now = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(date);
return now;
}
六.封装:在时间工具类中,一二三四我们不可能写四个方法,这不太符合代码易用性、强壮行、重用性之类的,所以我们要进行封装(把多处用到的工具类进行组件化):
package com.example.module_util.util;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间工具类
* Created by Administrator on 2020/3/16
*
* @author mcl
*/
public class TimeUtils {
/**
* @param str 想要的时间格式自己传,得传对
* @return 返回当前系统时间(以你想要的格式放回的)
*/
public static String requestTimeType(String str) {
DateFormat dateFormat = new SimpleDateFormat(str);
return dateFormat.format(new Date());
}
}
综上之后,是不是发现什么规律了,其实只需要把SimpleDateFormat("ZM")中“ZM”换成你想要的的格式就可以了。