Java日期时间,以及相互转换

Java日期时间,以及相互转化

  1 package com.study.string;
  2
  3 import java.text.ParseException;
  4 import java.text.SimpleDateFormat;
  5 import java.util.Calendar;
  6 import java.util.Date;
  7 import java.util.GregorianCalendar;
  8
  9 public class DateBase {
 10
 11     public static void main(String[] args) throws ParseException {
 12         /*
 13          * 获得当前时间
 14          */
 15         Date date1 = new Date();
 16         long long1 = date1.getTime();//date类型,转为 long类型
 17         System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017
 18         System.out.println(long1);//1503708031359
 19
 20         Calendar cale1 = Calendar.getInstance();
 21         date1 = cale1.getTime();//calendar 类型 转为  date类型
 22         long1 = date1.getTime();
 23         System.out.println(cale1);
 24         System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017
 25         System.out.println(long1);
 26
 27         /*
 28          *设置时间
 29          */
 30         long1 += 24*60*60*1000;
 31         date1.setTime(long1);
 32         System.out.println(date1);//Sun Aug 27 08:43:26 GMT+08:00 2017
 33
 34         /*
 35          * 格式化时间日期,无参数的默认格式,有参数的自定义格式。
 36          * Date ->  String  用 format()
 37          * String ->  Date  用 parse()
 38          */
 39         SimpleDateFormat sim1 = new SimpleDateFormat();//默认格式:17-8-27 上午8:45
 40         String time1  = sim1.format(date1);
 41         System.out.println(time1);//17-8-27 上午8:45
 42         Date date11 = sim1.parse(time1);
 43         System.out.println(date11);
 44
 45         SimpleDateFormat sim2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss");
 46         String time2 = sim2.format(date1);
 47         System.out.println(time2);//2017-08-27 08:47:58 058
 48         Date date22= sim2.parse(time2);
 49         System.out.println(date22);//Sun Aug 27 08:52:08 GMT+08:00 2017
 50
 51         /*
 52          * 创建指定日期  String
 53          * GregorianCalendar
 54          */
 55         SimpleDateFormat sim3 = new SimpleDateFormat("yyyy-MM-dd");
 56         String str1 = "2014-09-27";
 57         Date date33 = sim3.parse(str1);
 58         System.out.println(date33);//Sat Sep 27 00:00:00 GMT+08:00 2014
 59
 60
 61         GregorianCalendar gre1 = new GregorianCalendar(2015,Calendar.DECEMBER,25);
 62         Date date44 = gre1.getTime();
 63         System.out.println(date44);//Fri Dec 25 00:00:00 GMT+08:00 2015
 64
 65
 66         Calendar cal2 = Calendar.getInstance();
 67         cal2.set(Calendar.YEAR, 2017);
 68         cal2.set(Calendar.MONTH, 7);//月份的数字与 第几个月差1, 8 == Calendar.SEPTEMBER
 69         cal2.set(Calendar.DATE, 26);// Tue Sep 09 09:04:25 GMT+08:00 2008
 70 //        cal2.set(Calendar.DAY_OF_MONTH, 12);
 71         System.out.println(cal2.getTime());//Sat Aug 26 09:09:44 GMT+08:00 2017
 72
 73
 74
 75         /*
 76          * 获取年月日,星期,时间
 77          */
 78         int dayOfweek = cal2.get(Calendar.DAY_OF_WEEK);
 79         System.out.println(dayOfweek);//7 是星期六
 80
 81
 82         /*
 83          * Calendar 的时间加减
 84          */
 85         Calendar cal3 = Calendar.getInstance();
 86         cal3.add(Calendar.YEAR, 1);
 87         cal3.add(Calendar.MONTH, -2);
 88         System.out.println(cal3.getTime());//Tue Jun 26 09:14:11 GMT+08:00 2018
 89
 90
 91         /*
 92          *
 93          */
 94         Calendar cal4 = Calendar.getInstance();
 95         cal4.set(Calendar.YEAR, 2016);
 96         cal4.set(Calendar.DATE, 1);
 97         //每个月的最后 一天
 98         for(int month = Calendar.JANUARY;month<Calendar.DECEMBER; month++){
 99              cal4.set(Calendar.MONTH, month);
100              System.out.println(cal4.get(Calendar.YEAR)+"年"+(month+1)+"月"+
101                      cal4.getActualMaximum(Calendar.DATE)+"日");
102         }/*
103 2016年1月31日
104 2016年2月29日
105 2016年3月31日
106 2016年4月30日
107 2016年5月31日
108 2016年6月30日
109 2016年7月31日
110 2016年8月31日
111 2016年9月30日
112 2016年10月31日
113 2016年11月30日
114          */
115
116         //直接创建long 型的时间
117         long long2 = System.currentTimeMillis();
118         Date daten = new Date(long2);
119         System.out.println(daten);//Sat Aug 26 09:41:08 GMT+08:00 2017
120     }
121
122 }
时间: 2024-12-26 20:23:11

Java日期时间,以及相互转换的相关文章

Java日期时间以及日期相互转换_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 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; p

Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());   //java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数 2.由long类型转换成Date类型SimpleDat

Java 日期时间处理

Java 日期时间处理 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含时间),所以他的大部分构造器/方法都已Deprecated,因此就不再推荐使用(如果贸然使用的话,可能会出现性能/安全方面的问题);下面我仅介绍它还剩下的为数不多的几个方法(这些方法的共同点是Date与毫秒值的转换): 构造器 Date(): 在底层调用System.currentTimeMillis()作为日期参数.

Java日期时间使用总结[转载]

Java日期时间使用总结 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中,操作日期主要涉及到一下几个类: 1.java.util.Date 类 Date 表示特定的瞬间,精确到毫秒.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串.Date 中的把日期解释

Java 日期时间 Date类型,long类型,String类型表现形式的转换

1.java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());   //java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数 2.由long类型转换成Date类型SimpleDateFormat sdf= new SimpleDateFormat("MM/dd

Java日期时间操作源码示例大全

在研发闲暇时间,将开发过程比较重要的一些代码段做个记录,如下代码内容是关于Java日期时间操作示例大全的代码,应该是对小伙伴们有所用途. 日期类 import java.util.Calendar; public class VeDate { public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd H

Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析

目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总结 0.前言 通过前面Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中主要的类关系简图如下: 可以看出主要的LocalDate, LocalTime, LocalDateTime, Instant都是实现相同的接口,这里以LocalDate为例分析jav

Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate

通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用java新的日期时间API重写农历LunarDate. package com.xkzhangsan.time; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import ja

Java日期时间API系列17-----Jdk8中java.time包中的新的日期时间API类,java日期计算4,2个日期对比,获取相差年月日部分属性和相差总的天时分秒毫秒纳秒等

通过Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别 ,可以看出java8设计非常好,新增了Period和Duration类,专用于对比2个时间场景: Period,可以获取2个时间相差的年月日的属性. Duration,可以获取2个时间相差总的天时分秒毫秒纳秒. 下面应用: /** * 获取2个日期的相差年月天的年数部分 * @param startInclusive * @param endExclusive