java時間工具類
package com.han.common.util;
import com.han.common.entity.TimePattern;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class TimeUtil {
/**
* 獲取當前時間的long格式,秒數
* @return
*/
public static long getLongTime(){
Date date = new Date();
long time = date.getTime();
return time/1000;
}
/**
* 獲得當前時間
* @return 2020-10-27 16:47:16
*/
public static String getTime() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format = LocalDateTime.now().format(formatter);
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String time = simpleDateFormat.format(new Date());
return format;
}
/**
* 獲得當前時間,秒數置為0
* @return 2020-10-27 16:47:16 轉換為 2020-10-27 16:47:00
*/
public static String getRoundTime() {
String time = TimeUtil.getTime();
String substring = time.substring(0, 17);
substring = substring + "00";
return substring;
}
/**
* 傳入秒數格式的時間,轉換為指定日期格式
* @param second 秒數(非毫秒數),例:1603788436
* @param pattern TimePattern.LONG_PATTERN.getPattern()
* @return 2020-10-27 16:47:16
*/
public static String secondToDate(long second, String pattern) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(second * 1000);
Date time = calendar.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
String date = dateFormat.format(time);
return date;
}
/**
* 將指定日期的字串轉化為秒數
* @param date
* @return
* @throws Exception
*/
public static long dateToSecond(String date) throws Exception{
int length = date.length();
SimpleDateFormat dateFormat;
if (length>10){
dateFormat=new SimpleDateFormat(TimePattern.LONG_PATTERN.getPattern());
}else {
dateFormat=new SimpleDateFormat(TimePattern.SHORT_PATTERN.getPattern());
}
long second = dateFormat.parse(date).getTime()/1000;
return second;
}
/**
* 將秒數轉化為時間差
* @param seconds 900610秒
* @return map={days,hours,minutes,seconds}
*/
public static Map secondToDays(long seconds){
long days = (seconds) / (24 * 3600);
long hours = (seconds) % (24 * 3600) / 3600;
long minutes = (seconds) % 3600 / 60;
long second = (seconds) % 60;
HashMap<String, Long> map = new HashMap<>();
map.put("days",days);
map.put("hours",hours);
map.put("minutes",minutes);
map.put("seconds",second);
return map;
}
}
相關文章
- java新特性處理時間工具類Java
- Java常用時間格式轉換工具類Java
- DateUtils Android時間工具類Android
- Java 中節省 90% 時間的常用的工具類Java
- 時間相關的工具類
- Java 8 的日期時間工具Java
- Java 時間類 Date、Calendar 及用法Java
- Java 中JDK7時間類與JDK8中的時間類JavaJDK
- LocalDate,LocalDateTime和處理時間、日期工具類LDA
- 日期時間類
- Java時間類從此變得清晰明瞭Java
- Java —— 集合工具類(Collections 類)Java
- java Redis工具類JavaRedis
- java http 工具類JavaHTTP
- Java 工具類庫Java
- JAVA-java日期工具類Java
- 時間軸、流程類時間軸繪製
- 直播網站原始碼,vue工具類,時間格式化網站原始碼Vue
- LocalDate類操作時間LDA
- java工具類之編碼轉換工具類Java
- 時區以及時區對於Java時間類格式化的影響Java
- Java容器工具類ArraysJava
- Java之Collections工具類Java
- java時間操作Java
- java ftp工具類,帶你領略5款不同的java ftp工具類JavaFTP
- Java 常用類-程式設計師頭大的日期時間APIJava程式設計師API
- Calendar類在Java中的應用與日期時間處理Java
- Golang工具集-String工具,時間工具,http工具等GolangHTTP
- java工具類編寫思考Java
- java Freemarker 模版引擎工具類Java
- java 常用工具類Java
- as3 時間格式工具S3
- 工具方法:時間轉換
- java時間處理Java
- Java日期和時間Java
- Java 獲取本地時間與網路時間Java
- 【java】類之間的關係Java
- js 將時間戳轉yyyy-MM-dd HH-mm-ss工具類JS時間戳