java.lang.System类
System类提供的public static long currentTimeMillis() 用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差(时间戳)。(此方法适于计算时间差)
long time = System.currentTimeMillis();
System.out.println(time);
java.util.Date类
构造器: ①Date() :创建的对象可以获取本地当前时间 ②Date(long date) :创建指定毫秒数的Date对象,相当于又将时间戳转换成String形式
常用方法 ①getTime() :返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 ②toString() :把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
import java.util.Date;
public class DataTest {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
System.out.println(date);
System.out.println(date.getTime());
}
}
java.sql.Date类
是java.util.Date类的子类,对应着数据库中的日期类型的变量。
构造器:java.sql.Date(时间戳)
常用方法:同上
java.sql.Date与java.util.Date转换,可以通过多态和getTime()方法
import java.util.Date;
public class DataTest {
public static void main(String[] args) {
Date date = new Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
System.out.println(sqlDate);
}
}
java.text.SimpleDateFormat类
Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。其允许进行①格式化:日期—>字符串、②解析:字符串—>日期。
格式化: 1.实例化 ①SimpleDateFormat() :默认的模式和语言环境创建对象 ②SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象 2.格式化 实例化对象调用 String format(Date date) 方法格式化时间对象
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTest {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat();
Date date = new Date();
String format = sdf.format(date);
System.out.println(format);
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTest {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
String format = sdf.format(date);
System.out.println(format);
}
}
关于指定格式: 解析(格式化逆过程): Date parse(String source) :依据格式解析字符串,以生成一个日期(注意格式的匹配对应,否则抛异常)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTest {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date parse = sdf.parse("2020-12-20 22:03:19");
System.out.println(parse);
}
}
java.util.Calendar(日历)类
这是一个抽象(abstract)类,主用用于完成日期字段之间相互操作的功能。
实例化: ①使用Calendar.getInstance() 该静态方法 ②调用它的子类GregorianCalendar的构造器
常用方法:
import java.util.Calendar;
import java.util.Date;
public class CalendarTest {
public static void main(String[] args) {
Calendar instance = Calendar.getInstance();
int ofMouth = instance.get(Calendar.DAY_OF_MONTH);
System.out.println(ofMouth);
int ofYear = instance.get(Calendar.DAY_OF_YEAR);
System.out.println(ofYear);
instance.set(Calendar.DAY_OF_MONTH,9);
System.out.println(instance.get(Calendar.DAY_OF_MONTH));
instance.add(Calendar.DAY_OF_MONTH,-2);
System.out.println(instance.get(Calendar.DAY_OF_MONTH));
Date time = instance.getTime();
System.out.println(time);
instance.setTime(new Date());
System.out.println("********" + instance.getTime());
}
}
一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND。
未完待续
|