Java日期时间及日期相互转换实现代码

 更新时间:2019年12月27日 10:31:11   作者:明天会更好啊  
这篇文章主要介绍了Java日期时间及日期相互转换实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Java日期时间及日期相互转换实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

第一个构造函数使用当前日期和时间来初始化对象。

Java日期时间,以及相互转化,供大家参考,具体内容如下

package com.study.string;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
 
public class DateBase {
 
 public static void main(String[] args) throws ParseException {
 /*
  * 获得当前时间
  */
 Date date1 = new Date();
 long long1 = date1.getTime();//date类型,转为 long类型
 System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017
 System.out.println(long1);//1503708031359
  
 Calendar cale1 = Calendar.getInstance();
 date1 = cale1.getTime();//calendar 类型 转为 date类型
 long1 = date1.getTime();
 System.out.println(cale1);
 System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017
 System.out.println(long1);
  
 /*
  *设置时间 
  */
 long1 += 24*60*60*1000;
 date1.setTime(long1);
 System.out.println(date1);//Sun Aug 27 08:43:26 GMT+08:00 2017
  
 /*
  * 格式化时间日期,无参数的默认格式,有参数的自定义格式。
  * Date -> String 用 format()
  * String -> Date 用 parse()
  */
 SimpleDateFormat sim1 = new SimpleDateFormat();//默认格式:17-8-27 上午8:45
 String time1 = sim1.format(date1);
 System.out.println(time1);//17-8-27 上午8:45 
 Date date11 = sim1.parse(time1);
 System.out.println(date11);
  
 SimpleDateFormat sim2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss");
 String time2 = sim2.format(date1);
 System.out.println(time2);//2017-08-27 08:47:58 058
 Date date22= sim2.parse(time2);
 System.out.println(date22);//Sun Aug 27 08:52:08 GMT+08:00 2017
  
 /*
  * 创建指定日期 String 
  * GregorianCalendar
  */
 SimpleDateFormat sim3 = new SimpleDateFormat("yyyy-MM-dd");
 String str1 = "2014-09-27";
 Date date33 = sim3.parse(str1);
 System.out.println(date33);//Sat Sep 27 00:00:00 GMT+08:00 2014
  
  
 GregorianCalendar gre1 = new GregorianCalendar(2015,Calendar.DECEMBER,25);
 Date date44 = gre1.getTime();
 System.out.println(date44);//Fri Dec 25 00:00:00 GMT+08:00 2015
  
  
 Calendar cal2 = Calendar.getInstance();
 cal2.set(Calendar.YEAR, 2017);
 cal2.set(Calendar.MONTH, 7);//月份的数字与 第几个月差1, 8 == Calendar.SEPTEMBER
 cal2.set(Calendar.DATE, 26);// Tue Sep 09 09:04:25 GMT+08:00 2008
// cal2.set(Calendar.DAY_OF_MONTH, 12);
 System.out.println(cal2.getTime());//Sat Aug 26 09:09:44 GMT+08:00 2017
  
  
  
 /*
  * 获取年月日,星期,时间
  */
 int dayOfweek = cal2.get(Calendar.DAY_OF_WEEK);
 System.out.println(dayOfweek);//7 是星期六
  
  
 /*
  * Calendar 的时间加减
  */
 Calendar cal3 = Calendar.getInstance();
 cal3.add(Calendar.YEAR, 1);
 cal3.add(Calendar.MONTH, -2);
 System.out.println(cal3.getTime());//Tue Jun 26 09:14:11 GMT+08:00 2018
  
  
 /*
  * 
  */
 Calendar cal4 = Calendar.getInstance();
 cal4.set(Calendar.YEAR, 2016);
 cal4.set(Calendar.DATE, 1);
 //每个月的最后 一天
 for(int month = Calendar.JANUARY;month<Calendar.DECEMBER; month++){
  cal4.set(Calendar.MONTH, month);
  System.out.println(cal4.get(Calendar.YEAR)+"年"+(month+1)+"月"+
   cal4.getActualMaximum(Calendar.DATE)+"日");
 }
 
/*
2016年1月31日
2016年2月29日
2016年3月31日
2016年4月30日
2016年5月31日
2016年6月30日
2016年7月31日
2016年8月31日
2016年9月30日
2016年10月31日
2016年11月30日
  */
  
 //直接创建long 型的时间
 long long2 = System.currentTimeMillis();
 Date daten = new Date(long2);
 System.out.println(daten);//Sat Aug 26 09:41:08 GMT+08:00 2017
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解Java的Struts2框架的结构及其数据转移方式

    详解Java的Struts2框架的结构及其数据转移方式

    这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2016-01-01
  • 说说Spring中为何要引入Lookup注解

    说说Spring中为何要引入Lookup注解

    这篇文章主要给大家介绍了关于Spring中为何要引入Lookup注解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • SpringBoot整合RocketMQ实现消息发送和接收的详细步骤

    SpringBoot整合RocketMQ实现消息发送和接收的详细步骤

    这篇文章主要介绍了SpringBoot整合RocketMQ实现消息发送和接收功能,我们使用主流的SpringBoot框架整合RocketMQ来讲解,使用方便快捷,本文分步骤给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • SpringBoot中@Test的介绍和使用案例

    SpringBoot中@Test的介绍和使用案例

    SpringBoot提供了方便的测试功能,可以很容易地进行单元测试和集成测试,这篇文章主要介绍了SpringBoot中@Test的介绍和使用,需要的朋友可以参考下
    2023-08-08
  • SpringCloud feign无法注入接口的问题

    SpringCloud feign无法注入接口的问题

    这篇文章主要介绍了SpringCloud feign无法注入接口的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • kafka消费不到数据的排查过程

    kafka消费不到数据的排查过程

    这篇文章主要介绍了kafka消费不到数据的排查过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java全面分析面向对象之多态

    Java全面分析面向对象之多态

    多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定
    2022-04-04
  • Java数据结构之有向图设计与实现详解

    Java数据结构之有向图设计与实现详解

    有向图是具有方向性的图,由一组顶点和一组有方向的边组成,每条方向的边都连着一对有序的顶点。本文为大家介绍的是有向图的设计与实现,需要的可以参考一下
    2022-11-11
  • spring boot项目使用@JsonFormat失效问题的解决

    spring boot项目使用@JsonFormat失效问题的解决

    这篇文章主要介绍了spring boot项目使用@JsonFormat失效问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • SpringMVC Tomcat控制台乱码问题解决方案

    SpringMVC Tomcat控制台乱码问题解决方案

    这篇文章主要介绍了SpringMVC Tomcat控制台乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论