日期 JAVA8 LocalDateTime
LocalDateTime <=> String
//时间转字符串格式化 DateTimeFormatter df1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String dateTime = LocalDateTime.now(ZoneOffset.of("+8")).format(df1); //字符串转时间 String dateTimeStr = "2020-07-07 13:14:52.999"; DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, df2);
LocalDateTime获取毫秒数
//获取秒数 Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); //获取毫秒数 Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
String型日期从一种格式转换成另一种格式的String型日期
/** * String型日期从一种格式转换成指定格式的String型日期 */ public static String changeFormat(String strDate, String inputFormat, String outputFormat) throws ParseException { if (strDate == null || strDate.length() <= 0) { throw new IllegalArgumentException("invalid date = " + strDate); } DateTimeFormatter inDTF = DateTimeFormatter.ofPattern(inputFormat); DateTimeFormatter outDTF = DateTimeFormatter.ofPattern(outputFormat); LocalDateTime ldt = LocalDateTime.parse(strDate, inDTF); return outDTF.format(ldt); }
JDK8以前
@Test public void testDate() { /** "yyyy-MM-dd HH:mm:ss.S" */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); /** GET system DateTime */ String sysDate = sdf.format(new Timestamp(System.currentTimeMillis())); String year = "2021"; String month = "3"; String day = "5"; String hour = "15"; String minute = "50"; String second = "20"; int millisecond = 996; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, Integer.parseInt(year)); calendar.set(Calendar.MONTH, Integer.parseInt(month) - 1); /* month start as 0 */ calendar.set(Calendar.DATE, Integer.parseInt(day)); calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour)); calendar.set(Calendar.MINUTE, Integer.parseInt(minute)); calendar.set(Calendar.SECOND, Integer.parseInt(second)); calendar.set(Calendar.MILLISECOND, millisecond); Date returnDate = calendar.getTime(); String strDate = sdf.format(new Timestamp(returnDate.getTime())); System.out.println("sysDate [" + sysDate); System.out.println("strDate [" + strDate); }
作者: BORS