import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Program {
public static void main(String[] args) {
int[] intTimes = { 22022_1202, 2022_1202, 122_0202, 22_0202, 1224, 214, 12, 3, 0 };
for (int t : intTimes) {
LocalDate date = DateUtils.fromInt(t);
System.out.println(date);
}
public class DateUtils {
public static LocalDate fromInt(int dateInt) {
final String iniDate = "20000101";
String dateString = dateInt > 10000_00_00 ? String.valueOf(dateInt % 10000_00_00)
: dateInt > 100_00 ? String.valueOf(dateInt)
: dateInt > 1_00 ? String.format("%.4s%04d", iniDate, dateInt)
: dateInt > 0 ? String.format("%.6s%02d", iniDate, dateInt) : iniDate;
int dateLen = dateString.length();
String datePattern = "yyyyMMdd".substring(8 - dateLen, 8);
LocalDate date = LocalDate.parse(dateString,
DateTimeFormatter.ofPattern(datePattern));
return date;
Sign in to make a reply
Junes_99994
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Program {
public static void main(String[] args) {
int[] intTimes = { 22022_1202, 2022_1202, 122_0202, 22_0202, 1224, 214, 12, 3, 0 };
for (int t : intTimes) {
LocalDate date = DateUtils.fromInt(t);
System.out.println(date);
}
}
}
public class DateUtils {
public static LocalDate fromInt(int dateInt) {
final String iniDate = "20000101";
String dateString = dateInt > 10000_00_00 ? String.valueOf(dateInt % 10000_00_00)
: dateInt > 100_00 ? String.valueOf(dateInt)
: dateInt > 1_00 ? String.format("%.4s%04d", iniDate, dateInt)
: dateInt > 0 ? String.format("%.6s%02d", iniDate, dateInt) : iniDate;
int dateLen = dateString.length();
String datePattern = "yyyyMMdd".substring(8 - dateLen, 8);
LocalDate date = LocalDate.parse(dateString,
DateTimeFormatter.ofPattern(datePattern));
return date;
}
}