import java.sql.Timestamp;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
//Arbor 2022/6/9
public class DateTimeUtils {
/**
* TimestampToString
* @param timestamp
* @param pattern
* @return
*/
public static String TimestampToString(Timestamp timestamp,String pattern){
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
Instant instant = Instant.ofEpochMilli(timestamp.getTime());
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String format = dateTimeFormatter.format(localDateTime);
return format;
}
/**
* StringToTimestamp
* @param datatime
* @param pattern
* @return
*/
public static Timestamp StringToTimestamp(String datatime,String pattern){
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime parse = LocalDateTime.parse(datatime, dateTimeFormatter);
ZonedDateTime zdt = parse.atZone(ZoneId.systemDefault());
Timestamp timestamp = new Timestamp(zdt.toInstant().toEpochMilli());
return timestamp;
}
/**
* TimestampListToStringList
* @param timestampList
* @param pattern
* @return
*/
public static List<String> TimestampListToStringList(List<Timestamp> timestampList,String pattern){
List<String> datatimeList = new ArrayList<>();
for (Timestamp timestamp:timestampList) {
String datatime = TimestampToString(timestamp, pattern);
datatimeList.add(datatime);
}
return datatimeList;
}
/**
* StringListToTimestampList
* @param datatimeList
* @param pattern
* @return
*/
public static List<Timestamp> StringListToTimestampList(List<String> datatimeList,String pattern){
List<Timestamp> TimestampList = new ArrayList<>();
for (String datatime:datatimeList) {
Timestamp timestamp = StringToTimestamp(datatime, pattern);
TimestampList.add(timestamp);
}
return TimestampList;
}
}