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语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
随机推荐
- mysql原理以及相关优化
说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在 ...
- systemtap没找到函数变量
为啥systemtap没找到函数 hon@station6:~/codebox/stap/net$ sudo stap -L 'kernel.function("sock_recvmsg_n ...
- 算法(5)Jump Game
题目:非负数的数组,每个数组元素代表这你能最大跨越多少步,初始在0的位置,问,能不能正好调到数组的最后一位! https://leetcode.com/problems/jump-game/#/des ...
- 在Linux下调试Python代码的各种方法
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的 ...
- sql语句编写 有时候一个子查询可以拆分成多个子查询
sql语句编写 有时候一个子查询可以拆分成多个子查询
- npm+webpack+babel+react安装
npm+webpack+babel+react安装 1.首先要安装 Node.js, Node.js 自带了软件包管理器 npm 2.在项目文件目录下生成package.json # 进入项目目录$ ...
- [Leetcode] container with most water 最大水容器
Given n non-negative integers a1 , a2 , ..., an , where each represents a point at coordinate (i, ai ...
- POJ 1050 To the Max 二维最大子段和
To the MaxTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 52281 Accepted: 27633Description ...
- SQL 学习小笔记
1.FOUND_ROWS() 题目: ,; 在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数? *答案* : SQL_CALC_FOUND_ROWS ...
- c++ fstream用法(2)
一> #include "stdafx.h" #include<iostream> #include<string> #include<fstr ...