java中各种时间格式的转换
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TimeStampUtil {
private static final String DATE_PATTERN1 = "\\d{4}(?:[-/]\\d{2}){2}";
private static final String DATE_PATTERN2 = "\\d{8}";
public static String timeStamp(Long number) {
LocalDate localDate = LocalDate.now().minusDays(number);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
return dtf.format(localDate);
}
public static String timeStampLine(Long number) {
LocalDate localDate = LocalDate.now().minusDays(number);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return dtf.format(localDate);
}
public static String adjustTime(int adjustValue) {
LocalDateTime now = LocalDateTime.now().plusDays(adjustValue);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
String adjustedTime = now.format(formatter);
return adjustedTime;
}
public static String dateConvertString(Date time) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(time);
}
public static Date stringConvertDate(String time, Integer amonut) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = format.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, amonut);
Date incrementedDate = calendar.getTime();
return incrementedDate;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
public static Boolean extractDate(String input) {
Boolean boolen = false;
Pattern pattern1 = Pattern.compile(DATE_PATTERN1);
Matcher matcher1 = pattern1.matcher(input);
if (matcher1.find()) {
return true;
}
return false;
}
public static Boolean determineDate(String input) {
Boolean boolen = false;
Pattern pattern1 = Pattern.compile(DATE_PATTERN2);
Matcher matcher1 = pattern1.matcher(input);
if (matcher1.find()) {
return true;
}
return false;
}
public static String timeAndConversion(String time) {
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = inputFormat.parse(time);
return outputFormat.format(date);
} catch (Exception e) {
System.out.println("日期转换出错: " + e.getMessage());
}
return null;
}
public static Integer subtractionOfTime(String source, String target) {
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
try {
Date parsedDate1 = dateFormat1.parse(source);
Date parsedDate2 = dateFormat2.parse(target);
long differenceInMilliseconds = parsedDate2.getTime() - parsedDate1.getTime();
Integer differenceInDays = Math.toIntExact(differenceInMilliseconds / (1000 * 60 * 60 * 24));
System.out.println("两个日期相差 " + differenceInDays + " 天");
return differenceInDays;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static String getNowTime(){
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(currentDate);
return formattedDate;
}
}