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
- Java 中節省 90% 時間的常用的工具類Java
- 時間相關的工具類
- DateUtils Android時間工具類Android
- Java 8 的日期時間工具Java
- Java 時間類 Date、Calendar 及用法Java
- Java日期和時間類簡介Java
- Java 中JDK7時間類與JDK8中的時間類JavaJDK
- 時間處理工具類&工作日處理類
- LocalDate,LocalDateTime和處理時間、日期工具類LDA
- 時間管理類APP分析:拇指時間APP
- Java時間類從此變得清晰明瞭Java
- Java學習--使用 Date 和 SimpleDateFormat 類表示時間JavaORM
- Java —— 集合工具類(Collections 類)Java
- Java學習關於時間操作的應用類--Date類、Calendar類及其子類Java
- java http 工具類JavaHTTP
- java Redis工具類JavaRedis
- Java 工具類庫Java
- LocalDate類操作時間LDA
- 何時使用static類(工具類)
- 直播網站原始碼,vue工具類,時間格式化網站原始碼Vue
- java工具類之編碼轉換工具類Java
- java時間操作Java
- Java容器工具類ArraysJava
- Java之Collections工具類Java
- JS時間軸效果(類似於qq空間時間軸效果)JS
- Java 常用類-程式設計師頭大的日期時間APIJava程式設計師API
- as3 時間格式工具S3
- java ftp工具類,帶你領略5款不同的java ftp工具類JavaFTP
- Java日期和時間Java
- java時間處理Java
- java時間加減Java
- JAVA算時間差Java
- Java 實現音訊新增自定義時長靜音(附程式碼) | Java工具類Java音訊
- java 常用工具類Java
- java工具類編寫思考Java
- 極光推送-java工具類Java