寫爬蟲用到的工具類--(2)[時間格式化]
阿新 • • 發佈:2018-12-25
package Tool;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 格式化時間的工具類
* this is a time tool class
* Copyright (C) 2016-2020 All Rights Reserved.
*
* @author
* @version 0.0.1
* @date 2016/11/3
*/
public class TimeFormat {
private TimeFormat() {
}
private static final int SECONDS = 1000;
private static final int MINUTE = 60;
private static final int HOUR = 60;
private static final int DAY = 24;
private static final int WEEk = 7;
/**
* 格式化預設當前的系統時間 格式為 2016-11-03 17:05:17
*
* @return 返回一個字串 2016-11-03 17:05:17型別
*/
public static String currentTimeFormat() {
Date currentTime = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(currentTime);
}
/**
* 根據傳入的格式,格式化當前的系統預設的時間
*
* @param format 需要傳入的格式
* @return 返回一個根據傳入的格式的字串
*/
public static String currentTimeFormat(String format) {
Date currentTime = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(currentTime);
}
/**
* 根據傳入的格式,格式化第二天的時間
*
* @param format 需要傳入的格式
* @return 返回一個字串String型別
*/
public static String tomrrowTimeFormat(String format) {
Date currentTime = new Date();
currentTime.setTime(currentTime.getTime() + DAY * HOUR * MINUTE * SECONDS);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(currentTime);
}
/**
* 根據傳入的格式,格式化幾天後的時間
*
* @param format 需要傳入的格式
* @param day 需要格式化幾天後
* @return 返回一個String型別的字串
*/
public static String dayAfterFormat(String format, int day) {
Date currentTime = new Date();
currentTime.setTime(currentTime.getTime() + 1L * DAY * HOUR * MINUTE * SECONDS * day);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(currentTime);
}
/**
* 格式化傳入的時間
*
* @param format 傳入的格式
* @param date 傳入的日期
* @return 返回一個String型別
*/
public static String dateFormat(String format, Date date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(date);
}
/**
* 根據指定的格式將字串轉換為Date
*
* @param dateStr 傳入的字串
* @param formatStr 指定的格式化的格式
* @return 返回一個Date型別
* @throws ParseException
*/
public static Date formatDate(String dateStr, String formatStr) throws ParseException {
Date date = null;
try {
date = new SimpleDateFormat(formatStr).parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 將傳入的時間格式化為預設的格式 轉換為Date
*
* @param dateStr 傳入的時間
* @return 返回一個Date型別
* @throws ParseException
*/
public static Date formatDate(String dateStr) throws ParseException {
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(dateStr);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
/**
* 將傳入的時間從一種格式轉換為另一種格式
*
* @param dateStr 需要傳入的時間
* @param oldFormat 一種老的格式
* @param newFormat 想要轉換的新的格式
* @return 返回一個String型別的字串
*/
public static String formatChange(String dateStr, String oldFormat, String newFormat) {
String result = "";
Date date = null;
try {
date = formatDate(dateStr, oldFormat);
result = dateFormat(newFormat, date);
} catch (ParseException e) {
e.printStackTrace();
}
return result;
}
/**
* 將年月日的時間格式化成預設的格式
* @param date_time 需要傳入的時間
* @return 返回一個String型別的字串
*/
public static String getTime(String date_time) {
String dateStr = "";
Date date = null;
try {
date = formatDate(date_time, "yyyy年MM月dd日");
dateStr = dateFormat("yyyy-MM-dd", date);
} catch (ParseException e) {
e.printStackTrace();
}
return dateStr;
}
}