Java常用工具类之时间转换

时间:2022-04-29
本文章向大家介绍Java常用工具类之时间转换,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import java.text.DecimalFormat;  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
  
/** 
 * 功能更强大的格式化工具类 
 */  
public class FormatUtils {  
    private static SimpleDateFormat second = new SimpleDateFormat(  
            "yy-MM-dd hh:mm:ss");  
  
    private static SimpleDateFormat day = new SimpleDateFormat("yyyy-MM-dd");  
    private static SimpleDateFormat detailDay = new SimpleDateFormat("yyyy年MM月dd日");  
    private static SimpleDateFormat fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");  
    private static SimpleDateFormat tempTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    private static SimpleDateFormat excelDate = new SimpleDateFormat("yyyy/MM/dd");  
      
    /** 
     * 格式化excel中的时间 
     * @param date 
     * @return 
     */  
    public static String formatDateForExcelDate(Date date) {  
        return excelDate.format(date);  
    }  
      
    /** 
     * 将日期格式化作为文件名 
     * @param date 
     * @return 
     */  
    public static String formatDateForFileName(Date date) {  
        return fileName.format(date);  
    }  
  
    /** 
     * 格式化日期(精确到秒) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateSecond(Date date) {  
        return second.format(date);  
    }  
      
    /** 
     * 格式化日期(精确到秒) 
     *  
     * @param date 
     * @return 
     */  
    public static String tempDateSecond(Date date) {  
        return tempTime.format(date);  
    }  
  
    public static Date tempDateSecond(String str) {  
        try {  
            return tempTime.parse(str);  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
        return new Date();  
    }  
    /** 
     * 格式化日期(精确到天) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateDay(Date date) {  
        return day.format(date);  
    }  
      
    /** 
     * 格式化日期(精确到天) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateDetailDay(Date date) {  
        return detailDay.format(date);  
    }  
  
    /** 
     * 将double类型的数字保留两位小数(四舍五入) 
     *  
     * @param number 
     * @return 
     */  
    public static String formatNumber(double number) {  
        DecimalFormat df = new DecimalFormat();  
        df.applyPattern("#0.00");  
        return df.format(number);  
    }  
  
    /** 
     * 将字符串转换成日期 
     *  
     * @param date 
     * @return 
     * @throws Exception 
     */  
    public static Date formateDate(String date) throws Exception {  
        return day.parse(date);  
    }  
      
    /** 
     * 将字符日期转换成Date 
     * @param date 
     * @return 
     * @throws Exception 
     */  
    public static Date parseStringToDate(String date) throws Exception {  
        return day.parse(date);  
    }  
      
    public static String formatDoubleNumber(double number) {  
        DecimalFormat df = new DecimalFormat("#");  
        return df.format(number);  
    }  
}