java初始时间_java日期时间详解

2022年6月10日13:49:58

java.util包提供了Date类来封装当前的日期和时间,Date类提供两个构造函数来实例化Date对象.第一个构造函数使用当前日期和时间来初始化对象.

Date(),第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数,

Date(long milliser)

Date对象创建以后,可以调用下面的方法,

boolean after(Date date)

若当调用此方法的Date对象在指定日期之后返回true,否则返回false.

boolean before(Date date)

若当调用此方法的Date对象在指定日期之前返回true,否则返回false.

Object clone(),返回此对象的副本,

int compareTo(Date date)

比较当调用此方法的Date对象和指定日期,两者相等时候返回0,调用对象在指定日期之前

则返回负数,调用对象在指定日期之后则返回正数.

int compareTo(Object obj)

若obj是Date类型则操作等同于compareTo(Date),否则它抛出ClassCastException.

boolean equals(Object date)

当调用此方法的Date对象和指定日期相等时候返回true,否则返回false.

long getTime(),返回自1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数,

int hashCode(),

返回此对象的哈希码值,

void setTime(long time)

用自1970年1月1日00:00:00 GMT以后time毫秒数设置时候和日期,

String toString(),

把此Date对象转换为以下形式的String:dow mon dd hh:mm:ss zzz yyyy其中:dow是一周中的某一天

(Sun,Mon,Tue,Web,Thu,Fri,Sat)

获取当前日期时候,

java中获取当前日期和时间很简单,使用Date对象的toString()方法来打印当前日期和时候,

public class DateDemo{
public static void main(String args[]){
//初始化Date对象

Date date=new Date();

//使用toString() 函数显示日期时间

System.out.println(date.toString());

}

}

日期比较,

java使用以下三种方法来比较两个日期:

使用getTime()方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值.

使用方法before(),after()和equals(),例如,

使用compareTo()方法,它是由Comparable接口定义的,Date类实现了这个接口。

使用simpleDateFormat格式化日期,

SimpleDateFormat是一个以语言环境敏感的方式格式化和分析日期的类,

SimpleDateFormat允许你选择任何用户自定义日期时间格式化运行,

import java.util.*;

import java.text.*;

public class DateDemo{
public static void main(String args[]){
Date dNow=new Date();

SimpleDateFormat ft=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

System.out.println("时间:"+ft.format(dNow));

}

}

日期和时间的格式化编码,

G,纪元标记AD,

y,四位年份,2001,

M,月份,July or 07,

d,一个月的日期,10,

h,A.M/P.M(1-12)格式小时12

H,一天中的小时(0-23),22

m,分钟数,30,

s,秒数,55

S,毫秒数,234,

E,星期几,Tuesday.

D,一年中的日子,360,

F,一个月中第几周的周几,2(second Web in July)

w,一年中第几周,40,

W,一月中第几周,1

a,A.M/P.M标记,PM

k,一天中的小时(1--24) 24,

K,AM/PM(0-11)格式小时,10

z,时区,

',文字定界符,",单引号.

使用printf格式化日期:

printf方法可以很轻松地格式化时间和日期,使用两个字母格式,

它以%t开头并且以下面表格中的一个字母结尾,

c,包括全部日期和时间信息,F,"年-月-日"格式,

D,"月/日/年"格式,r,"HH:MM:SS PM"格式(12时制)

T,"HH:MM:SS"格式(24时制),R,"HH:MM"格式(24时制)

解析字符串为时间,

SimpleDateFormat类有一些附加的方法,特别是parse(),它试图按照给定的

SimpleDateFormat对象的格式化存储来解析字符串,

java休眠(sleep)

sleep()使当前线程进入停滞状态(阻塞当前线程),让出cpu的使用,

目的是不让当前线程独自霸占该进程所获的cpu资源,以留一定时间给他线程执行的机会 ,

import java.util.*;

public class SleepDemo{
public static void main(String args[]){
try{
System.out.println(new Date()+"\n");

Thread.sleep(1000*5);

System.out.println(new Date()+"\n");

}catch(Exception e){
System.out.println("Got an exception!");

}

}

}

测量时间,

import java.util.*;

public class DiffDemo{
public static void main(String args[]){
try{
long start=System.currentTimeMillis();

System.out.println(new Date()+"\n");

Thread.sleep(5*10);

System.out.println(new Date()+"\n");

long end=System.currentTimeMillis();

long diff=end-start;

System.out.println("Difference is:"+diff);

}catch(Exception e){
System.out.println("Got an exception!");

}

}

} 

Calendar类,

Calendar类是一个抽象类,

创建一个代表系统当前日期的Calendar对象,

Calendar c=Calendar.getInstance();//默认是当前日期.

创建一个指定日期的Calendar对象,

使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,

calendar c1=Calendar.getInstance();

c1.set(2002,3-1,12);

Calendar类对象字段类型,

Calendar.YEAR 年份

Calendar.MONTH ,月份

Calendar.DAY_OF_MONTH, 日期,和上面的字段,

Calendar.HOUR,12小时制的小时

Calendar.HOUR_OF_DAY 24小时制的小时

Calendar.MINUTE 分钟,

Calendar.SECOND 秒

Calendar.DAY_OF_WEEK 星期几

Calendar类对象信息的设置,

Calendar c1=Calendar.getInstance();

public final void set(int year,int month,int date)

c1.set(2009,6-1,12);

利用字段类型设置

如果只设定某个字段,

public void set(int field,int value)

把c1对象代表的日期设置为10号,

把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算

c1.set(Calendar.YEAR,2000);

Add设置,

Calendar c1=Calendar.getInstance();

把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其他所有的数值会被重新计算

把c1对象的日期减去10,也就是c1也就是表示为10天前的日期,其它所有的数值会被重新计算,

c1.add(Calendar.DATE,-10);

  • 作者:许清风
  • 原文链接:https://blog.csdn.net/weixin_29046035/article/details/114443037
    更新时间:2022年6月10日13:49:58 ,共 3449 字。