java时间方法_JAVA处理日期时间常用方法

转载JAVA处理日期时间常用方法:

1.java.util.Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

例:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。

cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.

cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.

//通过格式化输出日期

java.text.SimpleDateFormat format =newjava.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday is:"+format.format(cal.getTime()));

Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。

cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.

cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.

//通过格式化输出日期

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday is:"+format.format(cal.getTime()));

得到2007-12-25日期:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar calendar =newGregorianCalendar(2007,11,25,0,0,0);

Date date = calendar.getTime();

System.out.println("2007 Christmas is:"+format.format(date));

Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);

Date date = calendar.getTime();

System.out.println("2007 Christmas is:"+format.format(date));

java月份是从0-11,月份设置时要减1.

GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

取日期的部分:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

intyear =calendar.get(Calendar.YEAR);

intmonth=calendar.get(Calendar.MONTH)+1;

intday =calendar.get(Calendar.DAY_OF_MONTH);

inthour =calendar.get(Calendar.HOUR_OF_DAY);

intminute =calendar.get(Calendar.MINUTE);

intseconds =calendar.get(Calendar.SECOND);

int year =calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH)+1;

int day =calendar.get(Calendar.DAY_OF_MONTH);

int hour =calendar.get(Calendar.HOUR_OF_DAY);

int minute =calendar.get(Calendar.MINUTE);

int seconds =calendar.get(Calendar.SECOND);

取月份要加1.

判断当前月份的最大天数:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar cal = Calendar.getInstance();

intday=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println(day);

Calendar cal = Calendar.getInstance();

int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println(day);

2.java.util.Date

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Date today=newjava.util.Date();

System.out.println("Today is "+formats.format(today));

java.util.Date today=new java.util.Date();

System.out.println("Today is "+formats.format(today));

取当月的第一天:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.SimpleDateFormat format =newjava.text.SimpleDateFormat("yyyy-MM-01");

java.util.Date firstDay=newjava.util.Date();

System.out.println("the month first day is "+formats.format(firstDay));

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");

java.util.Date firstDay=new java.util.Date();

System.out.println("the month first day is "+formats.format(firstDay));

取当月的最后一天:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar cal = Calendar.getInstance();

intmaxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

java.text.Format formatter3=newjava.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));

Calendar cal = Calendar.getInstance();

int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));

求两个日期之间相隔的天数:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.SimpleDateFormat format =newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date beginDate= format.parse("2007-12-24");

java.util.Date endDate= format.parse("2007-12-25");

longday=(date.getTime()-mydate.getTime())/(24*60*60*1000);

System.out.println("相隔的天数="+day);

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date beginDate= format.parse("2007-12-24");

java.util.Date endDate= format.parse("2007-12-25");

long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

System.out.println("相隔的天数="+day);

一年前的日期:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.Format formatter=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=newjava.util.Date();

longbeforeTime=(todayDate.getTime()/1000)-60*60*24*365;

todayDate.setTime(beforeTime*1000);

String beforeDate=formatter.format(todayDate);

System.out.println(beforeDate);

java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=new java.util.Date();

long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;

todayDate.setTime(beforeTime*1000);

String beforeDate=formatter.format(todayDate);

System.out.println(beforeDate);

一年后的日期:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.Format formatter=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=newjava.util.Date();

longafterTime=(todayDate.getTime()/1000)+60*60*24*365;

todayDate.setTime(afterTime*1000);

String afterDate=formatter.format(todayDate);

System.out.println(afterDate);

java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=new java.util.Date();

long afterTime=(todayDate.getTime()/1000)+60*60*24*365;

todayDate.setTime(afterTime*1000);

String afterDate=formatter.format(todayDate);

System.out.println(afterDate);

求10小时后的时间

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

System.out.println("date:"+forma.format(Cal.getTime()));

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

System.out.println("date:"+forma.format(Cal.getTime()));

求10小时前的时间

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

System.out.println("date:"+forma.format(Cal.getTime()));

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Date

继承自java.util.Date,是操作数据库用的日期类型

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.sql.Date sqlDate =newjava.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

日期比较:简单的比较可以以字符串的形式直接比较,也可使用

java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.

相差时间:

long difference=c2.getTimeInMillis()-c1.getTimeInMillis();

相差天数:long day=difference/(3600*24*1000)

相差小时:long hour=difference/(3600*1000)

相差分钟:long minute=difference/(60*1000)

相差秒: long second=difference/1000

补充:

Java代码 6abde800557a8d1c0ad9dec99593ab63.gif 3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

DateFormat df=newSimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");

System.out.println(df.format(newDate()));

Date date =newDate();

DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);

DateFormat mediumDate =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);

DateFormat longDate =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);

DateFormat fullDate =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);

system.out.println(shortDate.format(date));

System.out.println(mediumDate.format(date));

System.out.println(longDate.format(date));

System.out.println(fullDate.format(date));

08-4-15下午3:24

2008-4-1515:24:31

2008年4月15日 下午03时24分31秒

2008年4月15日 星期二 下午03时24分31秒CST

Calendar c = Calendar.getInstance();

c.add(Calendar.MONTH,1);// 目前時間加1個月

System.out.println(df.format(c.getTime()));

c.add(Calendar.HOUR,3);// 目前時間加3小時

System.out.println(df.format(c.getTime()));

c.add(Calendar.YEAR, -2);// 目前時間減2年

System.out.println(df.format(c.getTime()));

c.add(Calendar.DAY_OF_WEEK,7);// 目前的時間加7天

System.out.println(df.format(c.getTime()));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python气象_Python 在气象上的应用

Python 在气象上的应用0.7892019.03.15 23:19:31字数 913阅读 1,024为什么选择python功能齐全的编程语言,真正面向对象喜欢可读的代码出版质量图绘制轻松读/写netcdf和grib数据轻松使用Fortran / C / C 广泛的库支持数字和非数字工作科学计算1.Numpy  Numpy是pyth…

双飞翼布局内容不换行_web前端入门到实战:圣杯布局和双飞翼布局

稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIVCSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~事实上,圣杯布局其实和…

java 去掉 t_关于Java:在LocalDateTime中不能删除“ T”

这是问题所在:GetMapping("/main/search")public String search (RequestParam String departure,RequestParam String arrival,RequestParam String departureTime,Model model) {DateTimeFormatter formatter DateTimeFormatter.ofPattern("yyyy-…

数据结构知识点总结_大牛带你学 | 考研数据结构中线性表中顺序结构的知识点总结...

前言我们都知道,数据结构中逻辑结构可以划分为线性结构(线性表)与非线性结构两大类。而存储结构指的是数据元素在计算机中的存储及其逻辑关系的表现,也就是在计算机当中对逻辑结构的表示。线性表的存储结构主要有顺序结构和链式结构两种实现形式。本文主…

java矩形翻转_如何判断一个点在旋转后的矩形中

前言最近在做的一款游戏中,用到点与旋转矩形的判定来获得一个选中的物体。在此做个记录如图所示,黄色的颜料屏是旋转的,如果不做处理直接判断点是否在矩形中,那么点击红点的位置会判定为选中物体。显然这是不对的。如果物体没有旋…

python中用函数设计栈的括号匹配问题_数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题...

算法数据结构数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题在平时写程序当中,我们会经常遇到程序当中括号的匹配问题,也就是在程序当中左括号的数量和右括号的数量必须相等。如果不相等的话则程序必然会报错。Hint:在读取程序的…

python创建空元组_Python——元组的基本语法(创建、访问、修改、删除)

原标题:Python——元组的基本语法(创建、访问、修改、删除)Python 元组的使用Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素&#xf…

openssl 生成证书_CentOS7 httpd(Apache)SSL 证书部署

在之前我的文章中我已经搭建了nextcloud服务器,现在我们需要通过域名及https访问怎么办1. 进行了简单的httpd设置后,就可以为网站添加SSL证书功能了。2. 首先得获取证书,有了证书才能添加。我们采用本地上传的方式将SSL证书上传到CentOS上。获…

FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA

问题描述FJ在沙盘上写了这样一些字符串:A1 “A”A2 “ABA”A3 “ABACABA”A4 “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N ≤ 26。输出格式请输出相应的字符串AN,以一个换行符结束。…

java仿qq gui_Java仿QQ登入页面

1.[代码][Java]代码package com.myqq.frame;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.MouseAdapter;import ja…

python数据预处理 重复行统计_Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记...

1. 数据清洗1.1 空值和缺失值的处理​空值一般表示数据未知、不适用或将在以后添加数据。缺失值是指数据集中某个或某些属性的值是不完整的。​一般空值使用None表示,缺失值使用NaN表示1.1.1 使用isnull()和notnull()函数​可以判断数据集中是否存在空值和缺失值1.1…

java编写系统登录界面_java 登陆界面怎么写,连接数据库后

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼界面是package 界面类;import javax.jws.soap.SOAPBinding.Use;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing…

python如何复制oracle数据_Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法...

本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法。分享给大家供大家参考。具体实现方法如下:# Export Oracle database tables to CSV files# FB36 - 201007117import sysimport csvimport cx_Oracleconnection raw_input("Enter Or…

JAVA构造函数是不是封装_Java 封装与构造函数

面向对象思想思想的三个特征:封装,继承,多态。封装:表现:函数就是一个最基本的封装体,类也是一个封装体。好处:1、提高了代码的复用性,2、隐藏了实现细节,可以对外提供可…

python获取mysql数据为excel中的sheet_python 从excel、csv、mysql、txt获取数据源

使用python进行数据分析工作的第一步是获取数据源,数据源来可能来自于excel、txt、csv文件、mysql数据库。分别看看这些数据源怎么导入到python中。1. Excel 数据源导入python首先导入pandas 模块import pandas as pdexcel 导入格式为:pd.read_excel( 路…

我的世界seus光影java版下载_我的世界0.17SEUS PE光影材质包(水反高清)下载

我的世界0.17SEUS PE光影材质包已经震撼发布,随着我的世界pe0.17系列版本疯狂的出现,很多玩家都有点开始不适应了,毕竟这个更新的频率和速度太快了,0.16.0版本还没有玩够了,下面给大家提供我的世界0.17SEUS PE光影材质…

针式打印机风格英文字体_可爱漂亮的圣诞节和新年贺卡艺术字体推荐!

圣诞节即将到来,各种相应的促销活动和宴会搞起来,今天macz小编为您带来几款风格可爱漂亮的圣诞节和新年贺卡艺术字体推荐!可以用于卡片、海报、邀请函、徽标、产品介绍、T恤等,效果魅力非常哦!可爱漂亮的圣诞节和新年贺…

golang mysql curd_用 golang 造了个 curd api 的轮子

最近需要写个接口的项目 准备顺便熟悉一下 golang在 github 找了下 golang 的 resetful 接口项目 大部分需要对每张表定义一个 model 文件所以就造了个轮子 不需要定义 model 类型的 curd 接口基于 gin 框架 只支持 mysql只需要改下 config/db.go 数据库配置文件就能直接 go ru…

miniui展示日历能点击_2020年日历设计,除了366天有新字体,还有新形式

点击上方蓝字,把我设置为星标☆吧今天是12月1日,距离2020年还有最后一个月。在我们度过的日子中,我们应该铭记每一天,每一个日子。讲究仪式感的人,才是生活真正的智者。那么,对于2020年的日历,应…

fopen php 读取_PHP使用fopen与file_get_contents读取文件实例分享

php中读取文件可以使用fopen和file_get_contents这两个函数,二者之间没有本质区别,只是前者读取文件的php代码相比后者要复杂一点。本文章通过实例向大家讲解fopen和file_get_contents读取文件的实现代码。需要的码农可以参考一下。fopen读取文件的代码如…