百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

大数据编程入门:Java Calendar类 java大数据是什么意思

yuyutoo 2024-10-17 17:03 6 浏览 0 评论

如果我们想在Java程序中去设置和获取日期的特定部分的时候,我们将如何去做呢?今天小编将为大家带来大数据编程入门:Java Calendar类。

一、Java Calendar类

Calendar类比Date类强大得多,它的实现比Date类复杂得多。

Calendar类是一个抽象类,它实现了实际使用中特定的子类对象。创建对象的过程对程序员来说是透明的,只需使用getInstance方法来创建对象。

1、创建一个代表系统当前日期的Calendar对象

Calendar c = Calendar.getInstance();//默认是当前日期

2、创建一个指定日期的Calendar对象

要使用calendar类表示特定的时间,首先需要创建一个Calendar对象,然后在该对象中设置月、年和日参数。

//创建一个代表2009年6月12日的Calendar对象

Calendar c1 = Calendar.getInstance();

c1.set(2009, 6 - 1, 12);

3、Calendar类对象字段类型

Calendar类使用以下常量来表示不同的含义,jdk中的许多类实际上都采用了这种思想。

常量

描述

Calendar.YEAR

年份

Calendar.MONTH

月份

Calendar.DATE

日期

Calendar.DAY_OF_MONTH

日期

Calendar.HOUR

12小时制的小时

Calendar.HOUR_OF_DAY

24小时制的小时

Calendar.MINUTE

分钟

Calendar.SECOND

Calendar.DAY_OF_WEEK

星期几

4、Calendar类对象信息的设置

① Set设置

如:

Calendar c1 = Calendar.getInstance();

调用:

public final void set(int year,int month,int date)

c1.set(2009, 6, 12);//把Calendar对象c1的年月日分别设置为:2009、6、12

使用字段类型设置

如果只设置某个字段的值,如日期,则可以使用以下set方法:

public void set(int field,int value)

将C1对象表示的日期设置为10号,所有其他值都将重新计算

c1.set(Calendar.DATE,10);

将C1对象表示的年份设置为2008,所有其他值都将重新计算

c1.set(Calendar.YEAR,2008);

其他字段属性set的意义以此类推

② Add设置

Calendar c1 = Calendar.getInstance();

C1对象的日期加10,即C1代表10天后的日期,其它所有值都将重新计算

c1.add(Calendar.DATE, 10);

c1对象的日期减10,即c1代表10天前的日期,其它所有值会被重新计算

c1.add(Calendar.DATE, -10);

其他字段属性的add的意义以此类推

5、Calendar类对象信息的获得

二、GregorianCalendar类

Calendar类实现了公历,GregorianCalendar是Calendar类的一个具体实现。

Calendar的getInstance()方法返回一个GregorianCalendar对象,默认情况下使用当前语言环境和时区初始化。GregorianCalendar定义了两个字段:AD和BC。这是代表公历定义的两个时代。

以下是GregorianCalendar对象的构造方法:

构造函数

说明

GregorianCalendar()

在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。

GregorianCalendar(int year, int month, int date)

在具有默认语言环境设置的默认时区中构造具有给定日期设置的GregorianCalendar。

GregorianCalendar(int year, int month, int date, int hour, int minute)

为具有默认语言环境设置的默认时区构造具有给定日期和时间设置的GregorianCalendar。

GregorianCalendar(int year, int month, int date, int hour, int minute, int second)

为具有默认语言环境设置的默认时区构造具有给定日期和时间设置的GregorianCalendar。

GregorianCalendar(Locale aLocale)

在具有给定语言环境的默认时区内构造一个基于当前时间的 GregorianCalendar。

GregorianCalendar(TimeZone zone)

在具有默认语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。

GregorianCalendar(TimeZone zone, Locale aLocale)

在具有给定语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。

以下是GregorianCalendar 类提供的一些有用的方法列表:

方法

说明

void add(int field, int amount)

根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。

protected void computeFields()

转换UTC毫秒值为时间域值

protected void computeTime()

覆盖Calendar ,转换时间域值为UTC毫秒值

boolean equals(Object obj)

比较此 GregorianCalendar 与指定的 Object。

int get(int field)

获取指定字段的时间值

int getActualMaximum(int field)

返回当前日期,给定字段的最大值

int getActualMinimum(int field)

返回当前日期,给定字段的最小值

int getGreatestMinimum(int field)

返回此 GregorianCalendar 实例给定日历字段的最高的最小值。

Date getGregorianChange()

获得格里高利历的更改日期。

int getLeastMaximum(int field)

返回此 GregorianCalendar 实例给定日历字段的最低的最大值

int getMaximum(int field)

返回此 GregorianCalendar 实例的给定日历字段的最大值。

Date getTime()

获取日历当前时间。

long getTimeInMillis()

获取用长整型表示的日历的当前时间

TimeZone getTimeZone()

获取时区。

int getMinimum(int field)

返回给定字段的最小值。

int hashCode()

重写hashCode.

boolean isLeapYear(int year)

确定给定的年份是否为闰年。

void roll(int field, boolean up)

在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。

void set(int field, int value)

用给定的值设置时间字段。

void set(int year, int month, int date)

设置年、月、日的值。

void set(int year, int month, int date, int hour, int minute)

设置年、月、日、小时、分钟的值。

void set(int year, int month, int date, int hour, int minute, int second)

设置年、月、日、小时、分钟、秒的值。

void setGregorianChange(Date date)

设置 GregorianCalendar 的更改日期。

void setTime(Date date)

用给定的日期设置Calendar的当前时间。

void setTimeInMillis(long millis)

用给定的long型毫秒数设置Calendar的当前时间。

void setTimeZone(TimeZone value)

用给定时区值设置当前时区。

String toString()

返回代表日历的字符串。

示例:

运行结果:

以上就是关于大数据编程入门:Java Calendar类的全部内容了,希望这篇文章能够帮助到大家~

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: