赞
踩
System类提供的 public static long currentTimeMillis()
返回时间戳
public void test1(){
long time = System.currentTimeMillis();
// 称为时间戳
System.out.println(time); // 1645835914706
}
表示:特定的瞬间,精确到毫秒 构造器: Date():创建一个对应当前时间的Date对象 Date(long date):创建一个对应当前时间的Date对象 常用方法: toString() getTime() "例子": public void test1() { // 构造器一:Date():创建一个对应当前时间的Date对象 Date date1 = new Date(); System.out.println(date1.toString()); // Tue Mar 19 14:24:49 CST 2024 System.out.println(date1.getTime()); // 1710829489906 // 构造器二:Date(long date):创建指定毫秒数的Date对象 Date date2 = new Date(155030620410L); System.out.println(date2.toString()); // Sat Nov 30 16:03:40 CST 1974 System.out.println(date2.getTime()); // 155030620410 }
1、 "日期 -> 字符串" import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { Date date = new Date(); // 当前日期和时间 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(date); System.out.println(formattedDate); // 2024-03-19 14:35:28 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = formatter.format(date); System.out.println(formattedDate); // 2024-03-19 } } 2、 "字符串 -> 日期" import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { String dateString = "2023-04-01 15:30:45"; String date2 = "2023-04-01 15:30"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); try { Date date = formatter.parse(dateString); System.out.println(date); // Sat Apr 01 15:30:45 CST 2023 Date date2 = formatter2.parse(date2); System.out.println(date2); // Sat Apr 01 15:30:00 CST 2023 } catch (ParseException e) { e.printStackTrace(); } } }
1、 'Calendar'是一个抽象基类,主要用于完成,日期字段之间相互操作。 2、实例化 方式一:使用 Calendar.getInstance() 方法 方式二:调用它的子类 'GregorianCalendar'的构造器 3、方法 "Calendar的实例"是系统时间的抽象表示,通过 get(int field)来取得想要的时间信息, 如:YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY、MINUTE、SECOND; public void set(int field, int value) public void add(int field, int amount) public final Date getTime() public final void setTime(Date date) "注意": 获取月份时:一月是0,二月是1,以此类推,12月是11 获取星期时:周日是1,周二是2,... 周六是7 "例子": public void testCalendar() { Calendar calendar = Calendar.getInstance(); /* 打印出calendar对象的实际类, 由于,Calendar.getInstance() 返回的是 GregorianCalendar的实例, 所以,输出:class java.util.GregorianCalendar。 */ System.out.println(calendar.getClass()); // class java.util.GregorianCalendar // 获取当前日期,是所在月份的第几天,如:如果今天是5月10日,days的值将是10。 int days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); // 获取当前日期,是所在年份的第几天 System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); /* 设置当前日期为所在月份的第22天, 如果,当前月份没有第22天(如果当前是2月且不是闰年), 那么,Calendar会自动将月份前进到下一个有第22天的月份。 */ calendar.set(Calendar.DAY_OF_MONTH, 22); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); /* calendar.add(Calendar.DAY_OF_MONTH, -3) 调用Calendar对象的add(),将当前日期减去3天, 使用Calendar.DAY_OF_MONTH作为字段参数,表示你想要改变的是月份中的天数, 传递-3作为增量值,表示你想要减去3天, 如果减去3天后得到的日期不在当前月份中(如,当前是某月的1号,减去3天后得到的日期将是上个月的最后一天), Calendar对象会自动调整月份和年份字段以反映正确的日期。 */ calendar.add(Calendar.DAY_OF_MONTH, -3); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); // getTime():日历类---> Date Date date = calendar.getTime(); System.out.println(date); // Tue Mar 19 14:51:37 CST 2024 // setTime():Date ---> 日历类 Date date1 = new Date(); System.out.println("date1= " + date1); // date1= Tue Mar 19 15:07:45 CST 2024 calendar.setTime(date1); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); // 19 }
public void test4(){ // 创建LocalDate对象,它表示当前的日期(年、月、日),不包含时间信息 LocalDate localDate = LocalDate.now(); // 返回当前的日期 System.out.println(localDate); // 2024-03-19 // 创建LocalTime对象,它表示当前的时间(时、分、秒、纳秒),不包含日期信息 LocalTime localTime = LocalTime.now(); // 返回当前的时间 System.out.println(localTime); // 15:14:28.354 // 创建LocalDateTime对象,它结合了LocalDate和LocalTime,表示当前的日期和时间 LocalDateTime localDateTime = LocalDateTime.now(); // 返回当前的日期和时间 System.out.println(localDateTime); // 2024-03-19T15:14:28.354 // ----------------------------------------------------------------- LocalDateTime localDateTime1 = LocalDateTime.of(2020, 10, 6, 13, 23, 43); System.out.println(localDateTime1); // 2020-10-06T13:23:43 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = localDateTime1.format(formatter); System.out.println(formattedDateTime); // 2020-10-06 13:23:43 System.out.println("-----------------------------------------------------------------"); // 当月的第几天 System.out.println(localDateTime.getDayOfMonth()); // 19 // 星期几(英文) System.out.println(localDateTime.getDayOfWeek()); // TUESDAY // 月份(英文) System.out.println(localDateTime.getMonth()); // MARCH // 月份的数字表示 System.out.println(localDateTime.getMonthValue()); // 3 // 输出分钟数 System.out.println(localDateTime.getMinute()); // 21 System.out.println("-----------------------------------------------------------------"); /* 调用localDate对象的withDayOfMonth(),并传入22作为参数, 这个方法返回一个新的LocalDate对象,其年份和月份与原始localDate对象相同,但日部分被设置为22, 原始的localDate对象不会被修改,因为LocalDate对象是不可变的 */ LocalDate localDate1 = localDate.withDayOfMonth(22); System.out.println(localDate); // 2024-03-19 System.out.println(localDate1); // 2024-03-22 LocalDateTime localDateTime2 = localDateTime.withHour(4); System.out.println(localDateTime); // 2024-03-19T15:26:45.466 System.out.println(localDateTime2); // 2024-03-19T04:26:45.466 System.out.println("-----------------------------------------------------------------"); /* 调用localDateTime对象的plusMonths()方法,并传入了3作为参数, 这个方法返回一个新的LocalDateTime对象,它的日期时间是在原始localDateTime对象的基础上增加了3个月 */ LocalDateTime localDateTime3 = localDateTime.plusMonths(3); System.out.println(localDateTime); // 2024-03-19T15:29:13.797 System.out.println(localDateTime3); // 2024-06-19T15:29:13.797 System.out.println("-----------------------------------------------------------------"); /* 调用localDateTime对象的minusDays()方法,并传入了6作为参数, 这个方法返回一个新的LocalDateTime对象,它的日期时间是在原始localDateTime对象的基础上减去了6天。 */ LocalDateTime localDateTime4 = localDateTime.minusDays(6); System.out.println(localDateTime); // 2024-03-19T15:30:27.417 System.out.println(localDateTime4); // 2024-03-13T15:30:27.417 }
1、使用预定义的格式化程序
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
String formattedDateTime = now.format(formatter);
System.out.println(formattedDateTime); // 2024-03-19T16:44:52.094
}
}
2、使用自定义格式
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = now.format(formatter);
System.out.println(formattedDateTime); // 2024-03-19 16:45:27
}
}
3、解析日期时间字符串
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String dateTimeString = "2023-09-17 15:30:45";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);
System.out.println(dateTime); // 2023-09-17T15:30:45
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。