Java关于时间日期的Date类和Calendar类概述
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类概述的更多相关文章
- Java学习关于时间操作的应用类--Date类、Calendar类及其子类
Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和D ...
- Java api 入门教程 之 JAVA的Date类与Calendar类
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理. 一.这里简单介绍一下Date类的使 ...
- JAVA的Date类与Calendar类【转】
Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date ...
- JAVA格式化时间日期
JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...
- JAVA Date类与Calendar类【转】
Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date ...
- Java基础教程——Date类和Calendar类
Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...
- Java的Date类与Calendar类
一:Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Da ...
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】
Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...
- 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
随机推荐
- 搭建Lepus数据库监控系统
一. 安装环境 系统环境:centos6.5 IP:192.168.30.242 hostname:vpn.org 软件:LAMP均已安装.(请确保这些正常安装,并能使用). 系统核心包:(摘自官方 ...
- Java IO 之 File 的创建、重命名与遍历
File表示存储设备上的一个文件或目录,使用方式查看API即可,比较简单 package org.zln.io.file; import java.io.File; /** * Created by ...
- cf 442 D. Olya and Energy Drinks
cf 442 D. Olya and Energy Drinks(bfs) 题意: 给一张\(n \times m(n <= 1000,m <= 1000)\)的地图 给出一个起点和终点, ...
- 【BZOJ 2822】[AHOI2012]树屋阶梯 卡特兰数+高精
这道题随便弄几个数就发现是卡特兰数然而为什么是呢? 我们发现我们在增加一列时,如果这一个东西(那一列)他就一格,那么就是上一次的方案数,并没有任何改变,他占满了也是,然后他要是占两格呢,就是把原来的切 ...
- Android中代码设置RadioButton的高端技巧
不知道怎么起标题,就这样了. 目前主要讲两个方面内容: 代码方式 设置RadioButton的 android:button . android:background 等属性为 @null : 代码方 ...
- BZOJ1202:狡猾的商人(带权并查集)
1202: [HNOI2005]狡猾的商人 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1202 Description: 刁姹接到一个 ...
- Tumblr:150亿月浏览量背后的架构挑战
Tumblr:150亿月浏览量背后的架构挑战 2013/04/08 · IT技术, 开发 · 9.9K 阅读 · HBase, Tumblr, 架构 英文原文:High Scalability,编译: ...
- eclipse+jetty+web项目调试---不显示源码
本人eclipse版本:JUNO 1.问题现象:显示源码时,不显示箭头(指示到哪行) 解决办法: debug configurations --->Goals设置参数 clean -X je ...
- C# using一般用法 (转)
using一般有着以下几种用法: 1.直接引入命名空间 a.using System ,这个是最常用的,就是using+命名空间,这样就可以直接使用命名空间中的类型,而免去了使用详细的命名空间 b.使 ...
- HDU3790---(双权最短路径)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) M ...