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. WCF身份验证一:消息安全模式之<Certificate>身份验证

    消息安全模式的证书身份验证方式,基于WSHttpBinding绑定协议的实现过程.主要内容:基本概念,然后是制作证书.服务端配置.客户端配置.总结.这里应该和Transport传输安全模式之证书身份验 ...

  2. LevelDB速记

    LevelDb的基本结构如下: 由六大部分组成: 一.MemTable,用户写入和读取的直接对象, 二.Immutable MemTable,用户状态写入的对象写满的MemTable之后会转为Immu ...

  3. [C/C++] #ifdef和#endif

    一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时对一组语句进行编译,而当条 ...

  4. 【bzoj3856】Monster 乱搞

    题目描述 你要打一只h点血的怪物,每回合你攻击会造成a点伤害,回合结束后怪物会回b点血,你每攻击k回合需要休息一次,该回合不能造成伤害.怪物血量降到0以下就会死亡,问最后能否打死怪物. 输入 Ther ...

  5. BZOJ4785 [Zjoi2017]树状数组 【二维线段树 + 标记永久化】

    题目链接 BZOJ4785 题解 肝了一个下午QAQ没写过二维线段树还是很难受 首先题目中的树状数组实际维护的是后缀和,这一点凭分析或经验或手模观察可以得出 在\(\mod 2\)意义下,我们实际求出 ...

  6. redux的基本概念

    1. State 应用的数据,即状态 2. Action 一个纯对象,携带这个操作的类型和数据信息,主要是用来进行传递信息,如下所示: const action = { type: 'ADD_TODO ...

  7. HDU 5655 四边形判断

    CA Loves Stick Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  8. com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理

    java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致 Exception in thread "main" com.mongod ...

  9. IDEA 用maven创建web项目编译时不能发布resources中的文件

    1.在pom.xml加入 <build> <resources> <resource> <directory>${basedir}/src/main/j ...

  10. 自定义orderBy字母函数

    orderedUsers: function () { var arr = this.users; for (var i = 0; i < arr.length - 1; i++) { for ...