java笔记------日期API

涉及的一些api:

Calendar calendar = Calendar.getInstance();

calendar.getTime();
calendar.setTime(date);
calendar.set(Calendar.YEAR,2000);
calendar.get(Calendar.DATE);
calendar.add(Calendar.DAY_OF_YEAR, 10);
calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
calendar1.after(calendar2);
calendar.getTimeInMillis();

SimpleDateFormat sdf = new SimpleDateFormat();

sdf.parse();
sdf.format();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss E");

String strTime = sdf.format(date);

date = sdf.parse(strTime);

举例及说明如下代码:

 1 package test;
 2
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7
 8 public class DateDemo {
 9
10     public static void main(String[] args) throws ParseException {
11         Date date = new Date();
12
13         //当前时间毫秒值,long类型
14         long numTime = date.getTime();
15         System.out.println(numTime);
16
17         //以"yyyy-MM-dd  HH:mm:ss E" 格式 构造SimpleDateFormat的对象
18         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss E");
19
20         // 根据Date类型对象  生成sdf中的格式(构造方法中指定了)的字符串时间
21         String strTime = sdf.format(date);
22         System.out.println(strTime);
23
24         //从字符串strTime 以sdf中的格式(构造方法中指定了) 生成 Date类型对象
25         date = sdf.parse(strTime);
26         System.out.println(date);
27
28         //Calendar是抽象类,不能直接new生成
29         Calendar calendar = Calendar.getInstance();
30         Calendar calendar2 = calendar;
31         System.out.println(calendar);//直接这样输出的看不懂,java.util.GregorianCalendar[time=1504450592066,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=2,DAY_OF_MONTH=3,DAY_OF_YEAR=246,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=56,SECOND=32,MILLISECOND=66,ZONE_OFFSET=28800000,DST_OFFSET=0]
32
33         //获得date对象
34         date = calendar.getTime();
35
36         //将date中时间设置给calendar
37         calendar.setTime(date);
38
39         //获取
40         calendar.get(Calendar.YEAR);
41
42         //设置
43         calendar.set(Calendar.MONTH, 0);
44
45         //增加
46         calendar.add(Calendar.DAY_OF_YEAR, 10);
47
48         //指定日历字段可能拥有的最大值。在此句中指当前月份的最大天数。
49         calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
50
51
52
53         //boolean类型,判断calendar1的时间是否在calendar2之后
54         calendar.after(calendar2);
55
56         //获得毫秒值,返回long类型
57         calendar.getTimeInMillis();
58
59
60     }
61
62 }
时间: 2024-10-18 14:08:00

java笔记------日期API的相关文章

Java中日期API常见问题整理

今天在使用Java日期API的时候遇到的一些问题,自己整理了下.貌似JDK8中有关于时间行的API,可是JDK8用的还不是很多,先弄明白7的相关知识. 问题1:如何以制定格式显示时间? 问题2:如何计算时间间隔? 问题3:如何计算指定时间间隔以后的时间? 下面直接上代码(使用JUnit4进行测试): import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import j

java课堂笔记------日期API

* 默认创建出来的Date实例表示当前系统时间 Date date = new Date(); * 获取Date内部维护的long值 long l = date.getTime(); * 支持传入long值的构造方法 * 创建的Date就表示该long值所表示的时间 Date now = new Date(1000*60*60*24); * 也可以在现有的Date对象上调用setTime方法 * 将long值传入,使其表示这个时间 date.setTime(1000*60*60*24); * j

java 8 日期api

//localdatetime -> string LocalDateTime now = LocalDateTime.now(); String format = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")); System.out.println(format); //date和localdatetime转换依靠instant中间 LocalDateTime.ofInstant(new Date(

Java 8时间和日期API 20例

伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API.Java处理日期.日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限.Java也意识到需要一个更好的 API来满足社区中已经习惯了使用JodaTime API的人们.全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant). 长

java笔记--String类格式化当天日期转换符文档

String类格式化当天日期 转换符:%tb : 格式化为月份的英文缩写%tB : 格式化为月份的英文全写%ta : 格式化为星期%tA : 格式化为星期%ty : 格式化为两位年份值%tY : 格式化为四位年份值%tm : 格式化为两位月份值%td : 格式化为两位日期值%te : 格式化为星期一位日期值%tH : 格式化为两位24时制小时值(00-23)%tk : 格式化为两位24时制小时值(0-23)%tI : 格式化为两位12时制小时值(01-12)%tl : 格式化为两位12时制小时值

java笔记-修改javadoc为中文API信息

Eclipse 默认的Javadoc API是英文版的,修改成中文版本的API步骤为: Window-->Preference-->Java-->Installed JREs 选择已经安装好的JRE-->Edit-->JRE system libraries-->rt.jar (默认是英文版本的源代码连接和javadoc的位置信息: 源代码连接:默认使用了JDK安装文件夹中自带的src.zip文件,包含英文版本的javadoc信息 javadoc位置:指向java网站上

Java 日期 Api

1 public class TimeTest { 2 3 public static void main(String[] args) { 4 Date d1 = new Date(); 5 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss"); 6 System.out.println(sdf.format(d1)); 7 8 Calendar c1 = Calendar.getInstance();

Java 8 日期时间API使用介绍

如何正确处理时间 现实生活的世界里,时间是不断向前的,如果向前追溯时间的起点,可能是宇宙出生时,又或是是宇宙出现之前, 但肯定是我们目前无法找到的,我们不知道现在距离时间原点的精确距离.所以我们要表示时间, 就需要人为定义一个原点. 原点被规定为,格林威治时间(GMT)1970年1月1日的午夜 为起点,之于为啥是GMT时间,大概是因为本初子午线在那的原因吧. Java中的时间 如果你跟你朋友说:"我们 1484301456 一起去吃饭,别迟到!",而你朋友能马上理解你说的时间,表示时间

Java 8 日期时间 API

Java 8 日期时间 API Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 ? java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一. 设计很差 ? Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义.java.ut