下面列出了Date,Timestamp ,String相互转换,以及通过Calendar创建时间的例子
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalenarAndTimeTest{
public static void main(String[] args) throws ParseException{
//创建Date对象
Date date = new Date();
//完整显示今天日期时间, Date转化为String
String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(date);
System.out.println(str);
//String 转化为 Date
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").parse(str);
System.out.println(date);
//创建Timestamp对象,Timestamp类是Date类的子类, Date 转化为 Timestamp
Timestamp timestamp = new Timestamp(date.getTime());//需要使用long类型
//Timestamp 转化为 Date
Date date1 = timestamp;
System.out.println(date1);
//Timestamp 转 String
str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(timestamp);
//String转Timestamp
timestamp =Timestamp.valueOf(str);
//创建 Calendar对象
Calendar calendar = Calendar.getInstance();
//对calendar设置时间的方法
//设置传入的时间格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd H:m:s");
//指定一个日期
Date date2= dateFormat.parse("2020-11-15 12:34:56");
//对calendar设置为date所定的日期
calendar.setTime(date);
//按特定格式显示刚设置的时间
str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime());
System.out.println(str);
//另一种设置calendar的方式。
//初始化Calendar对象
calendar.set(2020,11,15,12,34,56);
str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(calendar.getTime()));
System.out.println(str);
//或者用Date来初始化 Calendar对象,new Date()会获得当前时间。
calendar.setTime(new Date());
str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(calendar.getTime()));
System.out.println(str);
//创建一个Calendar用于比较时间
Calendar calendarNew = Calendar.getInstance();
//设定为5小时以前
calendarNew.add(Calendar.HOUR,-5);
System.out.println("时间比较:" + calendarNew.compareTo(calendar));//结果为calendarNew < calendar
}
}
Calendar会可以进行时间运算
package com.zhou;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarAndTimeTest1 {
public static void main(String[] args) throws ParseException {
//创建Calendar对象
Calendar calendar = Calendar.getInstance();
//设置传入的时间格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//指定一个日期
Date date = dateFormat.parse("2020-11-14 23:59:59");
//为calendar设定为date所定的日期
calendar.setTime(date);
System.out.println(calendar.getTime());
calendar.add(Calendar.SECOND,1);
System.out.println(calendar.getTime());
}
}
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:D:\IntelliJ IDEA 2018\lib\idea_rt.jar=56462:D:\IntelliJ IDEA 2018\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Users\zhoubiao\IdeaProjects\gui-study\out\production\gui-study" com.zhou.CalendarAndTimeTest1
Sat Nov 14 23:59:59 CST 2020
Sun Nov 15 00:00:00 CST 2020
进程完成,退出码 0
https://blog.csdn.net/joyous/article/details/9630893