Java日期和时间
Java 日期和时间
学习自
http://blog.csdn.net/zjf280441589/article/details/50447533
Date类
Date 类是在JDK 1.0 的时候提供的,到现在可以说是历史非常悠久了,其中有很多方法都已经弃用。
构造函数
//这样new出来的代表的是当前的时间
Date date = new Date();
//1970-1-1 00:00:00以来经过的毫秒数)来生成Date对象.
Date date = new Date(long date);
常用方法
/**
* 获取当前的系统时间
*/
private void getSystemTime() {
Date date = new Date(1000);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(date);
System.out.println(time);
}
/**
* 判断date是否在一个date之后
*/
private void after() {
Date date = new Date();
Date checkDate = new Date(System.currentTimeMillis() + 1000);
System.out.println(date.after(checkDate));
}
/**
* 判断date是否在一个date之前
*/
private void before() {
Date date = new Date();
Date checkDate = new Date(System.currentTimeMillis() + 1000);
System.out.println(date.before(checkDate));
}
Calendar
因为Calendar有很多的缺陷,并且也比较老旧,JDK又提供了java.util.Calendar 类,Calendar类是一个抽象类,没有具体实现,他是一个所有日历的模板。
获取Calendar实例
//获取公历日历
Calendar calendar = Calendar.getInstance();
常用方法
//可以进行时间的加减
calendar.add(Calendar.DAY_OF_YEAR, 1);
//获取不同的时间的值
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
将字符串转化为时间
/**
* 將字符串转化为时间
*/
private void convertStringToDate() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//被转换的时间的格式必须要与DateFormat解析的时间格式相同
String strDate = "2018-9-19 08:11:11";
try {
Date date = dateFormat.parse(strDate);
String value = dateFormat.format(date);
System.out.println(value);
} catch (ParseException e) {
e.printStackTrace();
}
}
计算两个时间之间的差值
通过获取总的毫秒数,然后进行换算
/**
* 计算两个时间之间的差值
*/
private void getTimeSpan() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date dateFirst = dateFormat.parse("2018-10-11 09:11:11");
Date dateSecond = dateFormat.parse("2018-10-10 07:11:10");
long diff = dateSecond.getTime() - dateFirst.getTime();
diff = diff / 1000;
//
long second = diff % 60;
long minute = diff % 3600 / 60;
long hour = diff % (3600 * 24) / 3600;
long day = diff / (3600 * 24);
String value =
String.format("%S 与 %S 之间相差了 %d days %d hours %d minutes %d second",
dateFormat.format(dateSecond),
dateFormat.format(dateFirst),
day, hour,
minute,
second);
System.out.println(value);
//2018-10-10 07:11:10 与 2018-10-11 09:11:11 之间相差了 -1 days -2 hours 0 minutes -1 second
} catch (Exception e) {
e.printStackTrace();
}
}
Java日期和时间的更多相关文章
- Java 日期与时间
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- [Java]Java日期及时间库插件 -- Joda Time.
来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...
- java 日期与时间操作
我们先来了解一下基本的概念 日期 2020-11-21 2020-11-22 时间 15:36:43 2020-11-21 15:36:43 时区 北京时间 2020-11-21 15:36:43 东 ...
- java日期和时间转换字符
日期和时间转换字符 字符 描述 例子 c 完整的日期和时间 Mon May 04 09:51:52 CDT 2009 F ISO 8601 格式日期 2004-02-09 D U.S. 格式日期 (月 ...
- Java日期与时间的处理/Date,String,Calendar转换
public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=Syst ...
- java日期和时间Date、Calendar、SimpleDateFormat
1 时间和日期 1.1 日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...
- java 日期与时间类
1.Date类: https://www.cnblogs.com/huangminwen/p/5994927.html 2.DateFormat和SimpleDateFormat (simple简单 ...
- java 日期。时间
友情链接: https://www.cnblogs.com/wanson/articles/10818955.html
- Java编程的逻辑 (32) - 剖析日期和时间
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
随机推荐
- Golang的交互模式进阶-读取用户的输入
Golang的交互模式进阶-读取用户的输入 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 读写数据除了 fmt 和 os 包,我们还需要用到 bufio 包来处理缓冲的输入和输出. ...
- sql数据库连接字符串在APP.config配置文件内的两种写法
第一种方法 写法: <configuration> <appSettings> <add key="connectionstring" value=& ...
- Oracle 重要知识点
这些是最简单的,理解这些再去看其他的高深一点的吧....... 游标 oracle里面的游标分为四种情况,分别是LOOP循环,FOR循环,删除,更新 1.LOOP循环 检索EMP表.使用LOOP循环语 ...
- bzoj千题计划270:bzoj4559: [JLoi2016]成绩比较(拉格朗日插值)
http://www.lydsy.com/JudgeOnline/problem.php?id=4559 f[i][j] 表示前i门课,有j个人没有被碾压的方案数 g[i] 表示第i门课,满足B神排名 ...
- bzoj千题计划190:bzoj4300: 绝世好题
http://www.lydsy.com/JudgeOnline/problem.php?id=4300 f[i] 表示第i位&为1的最长长度 #include<cstdio> # ...
- ubuntu 环境下pycharm的 安装与激活教程 以及错误解决方法
1. 基本安装: 1.1 打开Ubuntu的应用市场,并在搜索栏搜索pycharm,结果如下图所示 1.2 选择pro版本进行安装,结果如下图所示: 1.3打开安装后的pycharm,如果出现下图所示 ...
- iOS 远程推送注册的小问题
iOS8有了新方法,用新方法后,用7.0版本运行会奔溃.只要加一句判断就ok: #ifdef __IPHONE_8_0 // 在 iOS 8 下注册苹果推送,申请推送权限. UIUserNotific ...
- HDU 4712 Hamming Distance(随机算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4712 解题报告:输入n个数,用十六进制的方式输入的,任意选择其中的两个数进行异或,求异或后的数用二进制 ...
- Anaconda+django写出第一个web app(十一)
今天我们来学习给页面添加一个Sidebar,根据Sidebar跳转到相应的tutorial. 打开views.py,编辑single_slug函数: def single_slug(request, ...
- D. Dasha and Chess(交互题)
题目链接:http://codeforces.com/contest/1100/problem/D 题目大意:给你一个999*999的图,然后有666个黑色旗子,一个白色棋子,每一次白色棋子只能在它附 ...