常用时间操作:
import java.text.SimpleDateFormat;
import java.util.Date;//导util下面的包
public class Application {
public static void main(String[] args) {
//Date 是 Java 中的时间类
Date date = new Date();//获取当前时间
/*
* 自定义日期的输出格式
* y 年
* M 月
* d 日
* H 24小时制
* m 分钟
* s 秒
* Z 时区
* EEE 周几
* 只会把字母替换为时间 其他符号全部保留
*/
System.out.println(date);//包含 年月日,时分秒,周几,时区
//自定义日期的输出格式
SimpleDateFormat df1 = new SimpleDateFormat("yyyy年 MM月 dd日 EEE HH:mm:ss Z");
String dateString = df1.format(date);
System.out.println(dateString);
//时间戳:从 1970-01-01 00:00:00 到指定时间经过的毫秒数
//经常用于生成序列号和加密算法
long timestamp = date.getTime();
System.out.println(timestamp);
}
}
jdk8 后添加的新方法:
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Application2 {
public static void main(String[] args) {
//jdk8 新增的时间类
/*LocalTime 时分秒
*LocalDate 年月日
*LocalDateTime 年月日时分秒
*/
LocalDateTime now = LocalDateTime.now();//获取当前时间
System.out.println(now);
//LocalDateTime 提供了丰富的日期操作方法
System.out.println(now.getDayOfMonth());
System.out.println(now.getMonthValue());
System.out.println(now.getYear());
System.out.println(now.getDayOfWeek());//今天是周几
System.out.println(now.getDayOfYear());//是今年的第几天
//获取当前时分秒
System.out.println(now.getHour() + " " + now.getMinute() + " " + now.getSecond());
System.out.println(now.plusDays(10));//十天后的日期
System.out.println(now.plusHours(5));//5小时候
System.out.println(now.minusMinutes(30));//30分钟前的时间
//时间戳 到sql包
long timestamp = Timestamp.valueOf(now).getTime();
System.out.println(timestamp);
//自定义输出格式:LocalDateTime 转 String
DateTimeFormatter output = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String outputDateString = output.format(now);
System.out.println(outputDateString);
//自定义输入格式:String 转 LocalDateTime
DateTimeFormatter input = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
String inputDateString = "2018年09月03日 12时00分00秒";//待解析的字符串
//转换后的日期对象
LocalDateTime inputDate = LocalDateTime.parse(inputDateString, input);
System.out.println(inputDate);
}
}