1.      System.currentTimeMillis()方法

可以获取当前时间距离1970年01月01日00时00分00秒的秒数,如果程序运行在北京时区,则获取的数据是当前时间距离1970年01月01日08时00分00秒的秒数.

例如

System.out.println(System.currentTimeMillis());

2.      Date类

利用Date类获取当前日期时间的方法如下

		//打印当前时间
//方法一
System.out.println(new Date());
//方法二
System.out.println(new Date(System.currentTimeMillis()));

可以利用字符串的split()方法将上述结果分割,获得其中某个项的信息

		Date date = new Date();
String []word = date.toString().split(" ");//转成字符串并且分割
for(String w:word)
System.out.println(w);

3.      Calendar类

①获取Calendar对象

利用Calendar的静态方法getInstance()方法获取Calendar对象.

②set方法

setTime(Date date)将日历翻到date所在的时间.

set(int year,int month,int day)将日历翻到yearmonth day对应的年月日.

③get方法

get(常量)根据常量为YEAR,MONTH_OF_YEAR等值获取当前Calendar对象对应的年或月等单个信息.

例如

import java.util.Calendar;
import java.util.Date;
import static java.util.Calendar.*; public class AsMain {
public static void main(String args[]){ Calendar calendar = Calendar.getInstance();//获取Calendar对象 //1.获取单个信息并分别打印
calendar.setTime(new Date(1000000000));//设置为当前日期
int year = calendar.get(YEAR);//获取[年]
int month = calendar.get(MONTH)+1;//注意:月份对应的数字比实际月份少 1
int day = calendar.get(DAY_OF_MONTH);
int weekday = calendar.get(DAY_OF_WEEK);
int hour = calendar.get(HOUR_OF_DAY);
int minute = calendar.get(MINUTE);
int second = calendar.get(SECOND);//获取[秒0]
System.out.println(year+"年"+month+"月"+day+"日"+
Weekday(weekday)+hour+"时"+minute+"分"+second+"秒"); //2.计算日期1和日期2的间隔天数
year = 1987;
month = 6;
day = 5;
calendar.set(year,month,day);//设定日期1
long totalsecond_1 = calendar.getTimeInMillis();//获取日期1距离元年的秒数
System.out.print(year+"年"+month+"月"+"日与");
year = 1987;
month = 7;
day = 9;
calendar.set(year,month,day);//设置日期2
long totalsecond_2 = calendar.getTimeInMillis();//获取日期2距离元年的秒数
long days = (totalsecond_2 - totalsecond_1) / (24*3600*1000);//计算秒数之差,并换算成天数
System.out.println(year+"年"+month+"月"+"日相隔"+days+"天");
} public static String Weekday(int weekday){
switch(weekday){
case 1:return "星期日";
case 2:return "星期一";
case 3:return "星期二";
case 4:return "星期三";
case 5:return "星期四";
case 6:return "星期五";
case 7:return "星期六";
default:return "";
}
}
}

运行结果如下

1970年1月12日星期一21时46分40秒

1987年6月日与1987年7月日相隔35天

Java关于时间日期的Date类和Calendar类概述的更多相关文章

  1. Java学习关于时间操作的应用类--Date类、Calendar类及其子类

    Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和D ...

  2. Java api 入门教程 之 JAVA的Date类与Calendar类

    在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理. 一.这里简单介绍一下Date类的使 ...

  3. JAVA的Date类与Calendar类【转】

    Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date ...

  4. JAVA格式化时间日期

    JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...

  5. JAVA Date类与Calendar类【转】

    Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date ...

  6. Java基础教程——Date类和Calendar类

    Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...

  7. Java的Date类与Calendar类

    一:Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Da ...

  8. Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】

    Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...

  9. 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类

    在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...

随机推荐

  1. php serialize讲解与json性能测试

    [序列化的概念] 序列化是将对象状态转换为可保持或可传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 将对象的状态信息转换为可以存储或传输的 ...

  2. 从pthread 到QThread

    该文出自:http://www.civilnet.cn/bbs/topicno/78430 使用线程技术进行应用编程的意义在gemfield的文章<从进程到线程>中已经介绍过了,我们就直奔 ...

  3. CKEditor的基本使用

    <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <% ...

  4. 【bzoj2330】[SCOI2011]糖果 差分约束系统

    题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配 ...

  5. Educational Codeforces Round 53 Div. 2翻车记

    A:差点开场懵逼.只要有相邻两位不同就可以作为答案. #include<iostream> #include<cstdio> #include<cmath> #in ...

  6. P2483 【模板】k短路([SDOI2010]魔法猪学院)

    题目背景 感谢@kczno1 @X_o_r 提供hack数据 题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界 ...

  7. [CF1041E]Tree Reconstruction

    题目大意:有一棵树,现在给你每条树边被去掉时,形成的两个联通块中点的最大的编号分别是多少,问满足条件的树存不存在,存在输出方案 题解:一条边的两个编号中较大的一个一定是$n$,否则无解. 开始构造这棵 ...

  8. [洛谷P4779]【模板】单源最短路径(标准版)

    题目大意:单元最短路径(卡$SPFA$) 题解:$dijkstra$($\underline{\hspace{0.5em}}\underline{\hspace{0.5em}}gnu\underlin ...

  9. Failed with exception MetaException(message:javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes.

    hive (db_emp)> load data local inpath '/opt/datas/emp.txt' into table emp_part partition(`date`=' ...

  10. ios webapp调试神器MIHTool

    android平台有直接用chrome beta就可以调试,具体操作办法可以查看这篇教程<Android 设备 Chrome 远程调试>Mac的高富帅直接可以用safari提供“web检查 ...