Date

java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时间,精确到毫秒。

Java中有两个Date类,还有一个是java.sql.Date,这个类一般不用,即使在数据库中也不推荐使用。

写代码时注意导入的包一定是java.util包。

import java.util.Date;

public class TestDate {

public static void main(String[] args) {

Date date = new Date(); // 获得当前的系统日期和时间

System.out.println("今天的日期是:" + date);

Date dateL = new Date(0L);// 带参版:参数是毫秒值

System.out.println("Date(long date)的日期是:" + dateL);

long time = date.getTime(); // 获得毫秒数

System.out.println("自1970年1月1日起以毫秒为单位的时间(GMT):" + time);

// Deprecated,不赞成使用。建议使用Calendar代替。

Date dateYMD = new Date(1999, 01, 02);

Date dateYMDHMS = new Date(1999, 01, 02, 10, 10, 10);

}

}

日期格式化

simpleDateFormat.format(_date):把Date类型转为格式化的字符串

simpleDateFormat.parse(“1949-10-01”):把格式化的字符串转为Date类型

import java.text.DateFormat;// 抽象类

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

// DateFormat:日期↔文本

public class TestDate格式化 {

public static void main(String[] args) {

Date _date = new Date(); // 获得当前的系统日期和时间

// 创建DateFormat对象

DateFormat _dateFormat = new SimpleDateFormat("yyyy-MM-dd");

// format(Date date):按照指定模式,把日期转为字符串

String _s = _dateFormat.format(_date);

System.out.println("SimpleDateFormat:" + _s);

// -------------------------------

// parse方法:按照指定格式解析

try {

Date parse = _dateFormat.parse("1949-10-01");

System.out.println(parse);

} catch (ParseException e) {

e.printStackTrace();

}

}

}

Date类里很多方法被宣布“过时了”,过时了不是不能用,只是不赞成使用。

比如上面第一段代码中的Date的带年月日的构造方法。

@Deprecated

public Date(int year, int month, int date) {

this(year, month, date, 0, 0, 0);

}

如果要通过年月日构造一个日期类型的对象,推荐使用Calendar类。

Calendar

java.util.Calendar类(日历)是抽象类,无法实例化。

public abstract class Calendar implements Serializable, Cloneable, Comparable {

……

}

要得到对象,只能通过调用getInstance方法来获得\

Calendar cal = Calendar.getInstance();

一般得到的是GregorianCalendar的实例对象,可以通过toString()输出结果看到。

方法

解释

Calendar getInstance()

获取Calendar对象

Date getTime()

Calendar对象转为Date对象

int get(int fields)

获取fields指定部分的值

void set(int fields, int value)

将value中指定的值设置到fields指定的部分

void add(int fields, int amount)

将amount值添加到fields指定的时间或日期部分

Object clone()

返回调用对象的副本

void clear()

清除当前对象中所有的时间组成部分

boolean after(Object obj)

如果调用对象时间在obj之后,返回true

boolean before(Object obj)

如果调用对象时间在obj之前,返回true

boolean equals(Object obj)

判断调用对象与obj是否相等import java.util.Calendar;

public class TestCalendar {

public static void main(String[] args) {

Calendar cal = Calendar.getInstance();

// int _year = 2019, _month = 1, _day = 1;

// cal.set(_year, _month - 1, _day);

System.out.println(cal.get(Calendar.YEAR) + ":年");

System.out.println(cal.get(Calendar.MONTH) + ":月,从0开始算");

System.out.println(cal.get(Calendar.DATE) + ":当天 1-31");

System.out.println(cal.get(Calendar.DAY_OF_MONTH) + ":当天 1-31");

System.out.println(cal.get(Calendar.DAY_OF_WEEK) + ":星期,周日算第1天");

System.out.println(cal.get(Calendar.WEEK_OF_MONTH) + ":月的第n周");

System.out.println(cal.get(Calendar.WEEK_OF_YEAR) + ":年的第n周");

System.out.println(cal.get(Calendar.DAY_OF_YEAR) + ":一年里的第n天");

System.out.println(cal.get(Calendar.HOUR) + ":12小时制");

System.out.println(cal.get(Calendar.HOUR_OF_DAY) + ":24小时制");

System.out.println(cal.get(Calendar.MINUTE) + ":分");

System.out.println(cal.get(Calendar.SECOND) + ":秒");

System.out.println(cal.get(Calendar.MILLISECOND) + ":毫秒");

// 闰年2月29的一年之后

cal.set(2000, 2 - 1, 29);

// 把日历转为日期

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

cal.add(Calendar.YEAR, 1);

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

}

}

*java8新增的time包

java.time,用于日期、时间处理

|–Clock类:获取指定时区的日期时间

|–Duration类:一段持续的时间

|–Instant类:具体时刻,精确到纳秒

|–LocalDate类:不带时区的时间

……

import java.time.*;

public class TestDateJava8 {

public static void main(String[] args) {

testClock();

testDuration();

testInstant();

testLocalDate();

}

static void testClock() {

System.out.println("---Clock类:获取指定时区的日期时间---");

Clock clock = Clock.systemUTC();// 世界统一时间

System.out.println("当前时刻为:" + clock.instant());

// millis()获取clock对应的毫秒数,与System.currentTimeMillis()输出相同

System.out.println(clock.millis() + ":clock.millis()");

System.out.println(System.currentTimeMillis() + ":System.currentTimeMillis()");

}

static void testDuration() {

System.out.println("---Duration类:一段持续的时间---");

int s = 60 * 59;// 60秒*59=59分钟

Duration d = Duration.ofSeconds(s);

System.out.println(s + "秒相当于" + d.toMinutes() + "分");

System.out.println(s + "秒相当于" + d.toHours() + "小时");

System.out.println(s + "秒相当于" + d.toDays() + "天");

}

static void testInstant() {

System.out.println("---Instant类:具体时刻,精确到纳秒---");

Instant instant = Instant.now();// 获取当前时间

System.out.println(instant + ":Instant.now() ");

Instant instant2 = instant.plusSeconds(6000);

System.out.println(instant2 + ":加时间plusSeconds()");

}

static void testLocalDate() {

System.out.println("---LocalDate类:不带时区的时间---");

LocalDate localDate = LocalDate.now();

System.out.println(localDate + ":LocalDate.now()");

// 获得某年的第几天

int _某一年 = 2017, _第几天 = 100;

localDate = LocalDate.ofYearDay(_某一年, _第几天);

System.out.println(localDate + ":" + _某一年 + "年,第" + _第几天 + "天LocalDate.ofYearDay()");

}

}

标签:System,util,println,cal,Date,Calendar,out

来源: https://blog.csdn.net/talkwah/article/details/94328424

日历对象导哪个包_java.util的的Date类和Calendar类相关推荐

  1. 日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

    11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿,讨论15.8万次 #微信新表情#话题 翻白眼.666.让我看看 叹气.苦涩.裂开微信新表情虽然666但文物表情包的呆萌也能让人 ...

  2. java calendar 增加年_java 使用Date类、Calendar类,实现增加日期

    Date date= new Date(); System.out.println("Date date= new Date()中的date: "+date); 输出对象date: ...

  3. JAVA学习第四十六课 — 其它对象API(二)Date类 amp; Calendar类(重点掌握)

    Date类(重点) 开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用 <span style="font-family:KaiTi_GB2312;font-size:18p ...

  4. 日历---C++封装一个Date类,Calendar类,实现简单的日历+日期计算器程序

    C++封装一个Date类,实现简单的日历程序 程序代码如下: Date.h #include<iostream> using namespace std;class Date {publi ...

  5. java中timer类包_Java~util包中Timer的使用, 演示cancel方法 和 对比schedule和scheduleAtFixedRate方法...

    Timer Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类 执行计划任务的代码要放人TimerTask的子类中,因为TimerTask是一个抽象类.而且要重写其run方 ...

  6. java对象生成的时间_Java基础之一组有用的类——生成日期和时间(TryDateFormats)...

    控制台程序. java.util包中含有相当多的类涉及日期和时间,包括Date类.Calendar类和GregorianCalendar类. Date类对象其实定义了精确到毫秒的时刻,从1970年1月 ...

  7. Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类

    时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...

  8. java 日历工具_java中强大的时间处理工具:Calendar类(日历类)

    java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...

  9. java中强大的时间处理工具:Calendar类(日历类)

    java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...

最新文章

  1. 愤怒的小鸟【$DP$优化】
  2. Java 洛谷 P1151 子数整数
  3. 忍“乳”负重,身材好的女孩子究竟有多不容易?我从科学的角度算出来了……...
  4. python元组和集合
  5. php mysql-proxy报错_MySQL-proxy代理导致PHP PDO::ATTR_EMULATE_PREPARES的预处理出错,MySQL报General error: 1243错误...
  6. java static method_java 中static的几种用法
  7. MySQL-Proxy实现MySQL读写分离
  8. Do 32-bit build only with XCode 5.1
  9. 活动目录数据库重定向或迁移
  10. lateX 编译中文_LaTeX | 为学术论文排版而生【入门篇】
  11. 救命稻草VirtualBox,失之交臂VMware—— 2者的guest OS对 恒通笔记本并口卡的支持
  12. HTTPS(一) -- 基础知识(密钥、对称加密、非对称加密、数字签名、数字证书)
  13. 第二周 半导体器件基础(二)
  14. android lt;webview,Android WebView使用基础 – 圣骑士wind – 博客园
  15. Pale Blue Dot/暗淡蓝点------Carl Sagan/卡尔萨根
  16. 分类器交叉验证java_使用交叉验证和F1分数选择SVM参数
  17. Python中最强大的错误重试库
  18. 下载微信支付sdk的两个方法
  19. 行业报告归档 2017.3.21
  20. nrf52832使用ble+2.4G(Gzll)遇到的问题

热门文章

  1. 使用Spring Security进行简单身份验证
  2. Spring WebClient和Java日期时间字段
  3. 测量时间:从Java到内核再到
  4. eclipse插件开发_开发Eclipse插件
  5. apache camel_在WildFly中将Apache Camel和Spring添加为jboss模块
  6. 谓词::不适合Java
  7. 选择Java加密算法第3部分–公钥/私钥非对称加密
  8. saxparser_使用SaxParser和完整代码进行XML解析
  9. 编写下载服务器。 第一部分:始终流式传输,永远不要完全保留在内存中
  10. Spring / Hibernate使用log4jdbc改进了SQL日志记录