Java日期时间
格式化日期
1、使用SimpleDateFormat格式化日期
利用 java.text.SimpleDateFormat 的 format(Date)方法可将日期格式化
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author: Travelmate
* @CreateTime: 2021/4/9 20:26
* @Description:
*/
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = new Date();
System.out.println(sdf.format(date1));
}
}
// 输出: 2021-04-09
2、使用printf格式化日期(菜鸟教程)
import java.util.Date;
/**
* @Author: Travelmate
* @CreateTime: 2021/4/9 20:26
* @Description:
*/
public class Main {
public static void main(String[] args) {
Date date = new Date();
//c的使用
System.out.printf("全部日期和时间信息:%tc%n",date);
//f的使用
System.out.printf("年-月-日格式:%tF%n",date);
//d的使用
System.out.printf("月/日/年格式:%tD%n",date);
//r的使用
System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
//t的使用
System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
//R的使用
System.out.printf("HH:MM格式(24时制):%tR",date);
}
}
/*输出 :
全部日期和时间信息:星期五 四月 09 20:35:01 CST 2021
年-月-日格式:2021-04-09
月/日/年格式:04/09/21
HH:MM:SS PM格式(12时制):08:35:01 下午
HH:MM:SS格式(24时制):20:35:01
HH:MM格式(24时制):20:35
*/
3、利用Java 8 中的 java.time.format.DateTimeFormatter 来格式化时间日期
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
/**
* @Author: Travelmate
* @CreateTime: 2021/4/9 20:26
* @Description:
*/
public class Main {
public static void main(String[] args) {
DateTimeFormatter dt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.now();
System.out.println(date.format(dt));
}
}
// 输出:2021-04-09
打印昨天的当前时刻
1、利用Calendar类对象信息的设置
//把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, 10);
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* @Author: Travelmate
* @CreateTime: 2021/4/9 20:26
* @Description:
*/
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
System.out.println("今天: " + sdf.format(cal.getTime()));
cal.add(Calendar.DATE, -1);
System.out.println("前一天:" + sdf.format(cal.getTime()));
}
}
/*输出:
今天: 2021-04-09
前一天:2021-04-08
*/
2、 利用Java8的时间日期API
//方法返回此日期的副本,并减去指定的天数。
// daysToSubtract - 要减去的天数,可能是负数。
java.time.LocalDate.minusDays(long daysToSubtract)
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* @Author: Travelmate
* @CreateTime: 2021/4/9 20:26
* @Description:
*/
public class Main {
public static void main(String[] args) {
DateTimeFormatter dt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime today = LocalDateTime.now();
LocalDateTime yesterday = today.minusDays(1);
System.out.println(yesterday.format(dt));
}
}
/* 输出:
2021-04-08
*/