- 作 用
- 在代码中任何地方代替实际值
- 名 称
- Calendar
- vbCalGreg 0
- 使用的是阳历
- 实 质
- 函数,用于计算机命令
- vbCalHijri 1
- 使用的是伊斯兰历法
- Calendar控件
- 是一个传统的单月份日历
-
Calendar
2018-12-08 20:14:30Calendar Calendar calendar = Calendar.getInstance(); //年份 int year = c2.get(Calendar.YEAR); //月份 int month = c2.get(Calendar.MONTH) + 1; ...Calendar
Calendar calendar = Calendar.getInstance();
//年份 int year = c2.get(Calendar.YEAR); //月份 int month = c2.get(Calendar.MONTH) + 1; //日期 int date = c2.get(Calendar.DATE); //小时 int hour = c2.get(Calendar.HOUR_OF_DAY); //分钟 int minute = c2.get(Calendar.MINUTE); //秒 int second = c2.get(Calendar.SECOND); //星期几 int day = c2.get(Calendar.DAY_OF_WEEK);
使用Calendar类中的get方法可以获得Calendar对象中对应的信息,get方法的声明如下:
public int get(int field)
其中参数field代表需要获得的字段的值,字段说明和上面的set方法保持一致。
Calendar类中年份的数值直接书写,月份的值为实际的月份值减1,日期的值就是实际的日期值。
如果只设定某个字段,例如日期的值,则可以使用如下set方法:
public void set(int field,int value)
在该方法中,参数field代表要设置的字段的类型,常见类型如下:
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——星期几 后续的参数value代表,设置成的值。
-
Java Calendar 日历类的时间操作 Timestamp Date Calendar 相互转换
2013-07-30 17:53:36Java Calendar 日历类的时间操作,这也许是 Java 环境下创建和管理日历及操作时间最简单的一个方案了,示范代码也很简单。 演示了获取时间,日期时间的累加和累减,以及日期时间的比较。 原文地址:blog.csdn.net/...Java Calendar 日历类的时间操作,这也许是 Java 环境下创建和管理日历及操作时间最简单的一个方案了,示范代码也很简单。
演示了获取时间,日期时间的累加和累减,以及日期时间的比较。
原文地址:blog.csdn.net/joyous/article/details/9630893
注意事项:
Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。
而 Calendar.DAY_OF_WEEK 定义值如下,每周从 SUNDAY 开始,从 1 ~ 7:
Calendar.SUNDAY = 1
Calendar.MONDAY = 2
Calendar.TUESDAY = 3
Calendar.WEDNESDAY = 4
Calendar.THURSDAY = 5
Calendar.FRIDAY = 6
Calendar.SATURDAY = 7SimpleDateFormat 的格式定义
Letter Date or Time Component Presentation Examples G
Era designator Text AD
y
Year Year 1996
;96
Y
Week year Year 2009
;09
M
Month in year (context sensitive) Month July
;Jul
;07
L
Month in year (standalone form) Month July
;Jul
;07
w
Week in year Number 27
W
Week in month Number 2
D
Day in year Number 189
d
Day in month Number 10
F
Day of week in month Number 2
E
Day name in week Text Tuesday
;Tue
u
Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a
Am/pm marker Text PM
H
Hour in day (0-23) Number 0
k
Hour in day (1-24) Number 24
K
Hour in am/pm (0-11) Number 0
h
Hour in am/pm (1-12) Number 12
m
Minute in hour Number 30
s
Second in minute Number 55
S
Millisecond Number 978
z
Time zone General time zone Pacific Standard Time
;PST
;GMT-08:00
Z
Time zone RFC 822 time zone -0800
X
Time zone ISO 8601 time zone -08
;-0800
;-08:00
Java Calendar 演示代码如下:
package demo; import java.util.Date; import java.text.SimpleDateFormat; import java.text.DateFormat; import java.text.ParseException; import java.util.Calendar; public class Test { public Test() { } public static void main(String[] args) { // 字符串转换日期格式 // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 接收传入参数 // String strDate = args[1]; // 得到日期格式对象 // Date date = fmtDateTime.parse(strDate); // 完整显示今天日期时间 String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date()); System.out.println(str); // 创建 Calendar 对象 Calendar calendar = Calendar.getInstance(); try { // 对 calendar 设置时间的方法 // 设置传入的时间格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s"); // 指定一个日期 Date date = dateFormat.parse("2013-6-1 13:24:16"); // 对 calendar 设置为 date 所定的日期 calendar.setTime(date); // 按特定格式显示刚设置的时间 str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime()); System.out.println(str); } catch (ParseException e) { e.printStackTrace(); } // 或者另一種設置 calendar 方式 // 分別爲 year, month, date, hourOfDay, minute, second calendar = Calendar.getInstance(); calendar.set(2013, 1, 2, 17, 35, 44); str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime()); System.out.println(str); // Calendar 取得当前时间的方法 // 初始化 (重置) Calendar 对象 calendar = Calendar.getInstance(); // 或者用 Date 来初始化 Calendar 对象 calendar.setTime(new Date()); // setTime 类似上面一行 // Date date = new Date(); // calendar.setTime(date); str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime()); System.out.println(str); // 显示年份 int year = calendar.get(Calendar.YEAR); System.out.println("year is = " + String.valueOf(year)); // 显示月份 (从0开始, 实际显示要加一) int month = calendar.get(Calendar.MONTH); System.out.println("nth is = " + (month + 1)); // 本周几 int week = calendar.get(Calendar.DAY_OF_WEEK); System.out.println("week is = " + week); // 今年的第 N 天 int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR); System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR); // 本月第 N 天 int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH)); // 3小时以后 calendar.add(Calendar.HOUR_OF_DAY, 3); int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY); System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY); // 当前分钟数 int MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE = " + MINUTE); // 15 分钟以后 calendar.add(Calendar.MINUTE, 15); MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE + 15 = " + MINUTE); // 30分钟前 calendar.add(Calendar.MINUTE, -30); MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE - 30 = " + MINUTE); // 7天前 calendar.add(Calendar.DAY_OF_YEAR, -7); // 显示当月 x 号 int day_of_month = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("day_of_month -7 = " + day_of_month); // 格式化显示 str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime()); System.out.println(str); // 重置 Calendar 显示当前时间 calendar.setTime(new Date()); str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime()); System.out.println(str); // 创建一个 Calendar 用于比较时间 Calendar calendarNew = Calendar.getInstance(); // 设定为 5 小时以前,后者大,显示 -1 calendarNew.add(Calendar.HOUR, -5); System.out.println("时间比较:" + calendarNew.compareTo(calendar)); // 设定7小时以后,前者大,显示 1 calendarNew.add(Calendar.HOUR, +7); System.out.println("时间比较:" + calendarNew.compareTo(calendar)); // 退回 2 小时,时间相同,显示 0 calendarNew.add(Calendar.HOUR, -2); System.out.println("时间比较:" + calendarNew.compareTo(calendar)); } }
运行结果
2013-06-07 23:27:34:195 2013-06-01 13:24:16:000 2013-02-02 17:35:44:197 2013-06-07 23:27:34:197 year is = 2013 nth is = 6 week is = 6 DAY_OF_YEAR is = 158 DAY_OF_MONTH = 7 HOUR_OF_DAY + 3 = 2 MINUTE = 27 MINUTE + 15 = 42 MINUTE - 30 = 12 2013-06-08 02:12:34:197 2013-06-07 23:27:34:199 时间比较:-1 时间比较:1 时间比较:0
要计算时间差,可用 Calendar.getTimeInMillis() 取得两个时间的微秒级的时间差,再加以换算即可,比如获得相差天数,代码如下:
// 得微秒级时间差 long val = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis(); // 换算后得到天数 long day = val / (1000 * 60 * 60 * 24);
其他与 date 相关的类型转换代码如下。
Timestamp 类型转换为 Date 类型:
Timestamp stamp = new Timestamp(System.currentTimeMillis()); Date date = new Date(stamp.getTime()); System.out.println(date);
Timestamp 类型转换为 Calendar 类型:
// 获取 Timestamp 类型时间 Timestamp timestamp = new Timestamp(System.currentTimeMillis()); // 转换为 Calendar 类型,SUN 也推荐用 Calendar 处理时间信息 Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp.getTime());
Date 类型转换为 Calendar 类型:
// Date 向 Calendar 赋值 calendar.setTime(date);
Calendar 类型转换为 Timestamp 类型:
// 创建 Calendar 对象,也同时获取了当前时间 Calendar calendar = Calendar.getInstance(); // 转换为 Timestamp 类型对象 Timestamp timestamp = new Timestamp(calendar.getTimeInMillis()); System.out.println(timestamp);
Calendar 类型转换为 Date 类型:
// Calendar 对象类型转换为 Date 对象类型 Calendar calendar = Calendar.getInstance(); java.util.Date date = calendar.getTime(); System.out.println(date);
StringDate 转换为 Date 或者 Timestamp
/* 将字符串日期或者日期时间转换为 timestamp 格式 */ try { // 一个字符串日期 String strDate = "2020-01-31"; // 设置传入格式 // yyyy-MM-dd 或者完整的 yyyy-MM-dd HH:mm:ss DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = dateFormat.parse(strDate); // 创建 Calendar 用于处理 date 对象 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // 由 calendar 对象生成 timestamp Timestamp timestamp = new Timestamp(calendar.getTimeInMillis()); System.out.printf(timestamp); } catch (Exception e) { e.printStackTrace(); }
原文地址:blog.csdn.net/joyous/article/details/9630893
https://blog.inull.net
Q群讨论 236201801 -
Java时间Calendar
2020-07-27 22:44:00Java时间类操作Calendar // 其日历字段已由当前日期和时间初始化: Calendar rightNow = Calendar.getInstance(); // 子类对象 // 获取年 int year = rightNow.get(Calendar.YEAR); // 获取月 int month = right...Java时间类操作Calendar
// 其日历字段已由当前日期和时间初始化: Calendar rightNow = Calendar.getInstance(); // 子类对象 // 获取年 int year = rightNow.get(Calendar.YEAR); // 获取月 int month = rightNow.get(Calendar.MONTH); // 获取日 int date = rightNow.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日");
package cn.itcast_02; import java.util.Calendar; /* * public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。 * public final void set(int year,int month,int date):设置当前日历的年月日 */ public class CalendarDemo { public static void main(String[] args) { // 获取当前的日历时间 Calendar c = Calendar.getInstance(); // 获取年 int year = c.get(Calendar.YEAR); // 获取月 int month = c.get(Calendar.MONTH); // 获取日 int date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); // // 三年前的今天 // c.add(Calendar.YEAR, -3); // // 获取年 // year = c.get(Calendar.YEAR); // // 获取月 // month = c.get(Calendar.MONTH); // // 获取日 // date = c.get(Calendar.DATE); // System.out.println(year + "年" + (month + 1) + "月" + date + "日"); // 5年后的10天前 c.add(Calendar.YEAR, 5); c.add(Calendar.DATE, -10); // 获取年 year = c.get(Calendar.YEAR); // 获取月 month = c.get(Calendar.MONTH); // 获取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); System.out.println("--------------"); c.set(2011, 11, 11); // 获取年 year = c.get(Calendar.YEAR); // 获取月 month = c.get(Calendar.MONTH); // 获取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); } }
小测试:
import java.util.Calendar; import java.util.Scanner; /* * 获取任意一年的二月有多少天 * * 分析: * A:键盘录入任意的年份 * B:设置日历对象的年月日 * 年就是A输入的数据 * 月是2 * 日是1 * C:把时间往前推一天,就是2月的最后一天 * D:获取这一天输出即可 */ public class CalendarTest { public static void main(String[] args) { // 键盘录入任意的年份 Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); // 设置日历对象的年月日 Calendar c = Calendar.getInstance(); c.set(year, 2, 1); // 其实是这一年的3月1日 // 把时间往前推一天,就是2月的最后一天 c.add(Calendar.DATE, -1); // 获取这一天输出即可 System.out.println(c.get(Calendar.DATE)); } }
-
Java Calendar类操作 java.util.Calendar
2018-07-18 23:02:59Java的Date类与Calendar类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始出现了Calendar类进行时间和日期处理。 Calendar是Java.util下的抽象类 // ...Java的Date类与Calendar类
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始出现了Calendar类进行时间和日期处理。
Calendar是Java.util下的抽象类
- // 创建 Calendar 对象&&获取系统时间
- Calendar calendar = Calendar.getInstance();
- 输出当前时间都是和Date一样的
SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //获取员工Calendar对象 Calendar calendar = Calendar.getInstance(); Date date = new Date(); System.out.println("Calendar当前日期:"+ss.format(calendar.getTime())); System.out.println("Date当前日期:"+ss.format(date.getTime()));
- 获取当前时间的前后,当然还可以用Calendar中的其他常量
-
//15年前的10十天后 calendar.add(Calendar.YEAR, -15); calendar.add(Calendar.DATE, 10); System.out.println("Calendar对象当前日期:"+ss.format(calendar.getTime()));
可以用get方法获取单个的时间点
-
// 获取月 int year = calendar.get(Calendar.YEAR); // 获取月 int month = calendar.get(Calendar.MONTH); // 获取日 int day = calendar.get(Calendar.DATE);
可以用set方法设置某个时间,未设置值的比如小时、分钟会按当前时间设置
calendar.set(2011, 11, 11); System.out.println(ss.format(calendar.getTime()));
在Calendar中也有相同于与System.currentTimeMillis()获取毫秒数的方法 getTimeInMillis
-
也有设置毫秒数创建日期的setTimeInMillis
-
//getTimeInMillis():返回此 Calendar 的时间值,以毫秒为单位。 long dl = calendar.getTimeInMillis(); System.out.println("毫秒数:" + dl); calendar.setTimeInMillis(dl); System.out.println(ss.format(calendar.getTime()));
其他方法会在以后更新
-
Calendar介绍
2019-03-20 16:33:39Calendar Calendar是一个抽象类,被abstract所修饰,这也决定了它不能通过new来获取实例对象。 Calendar提供了一个getInstance的方法,获得一个子类对象,因为每个国家地区都有自己的日历算法 public static void ... -
Calendar 时间比较
2019-12-19 10:52:57Calendar 时间比较坑记录使用 before 等方法时 一定要记住 都是Calendar 对象,否则返回全是false 使用 before 等方法时 一定要记住 都是Calendar 对象,否则返回全是false public static boolean canEditTime(Date ... -
easyUI Calendar
2012-08-02 11:08:28覆盖默认值$.fn.calendar.defaults. calendar 显示一个月份的日历,允许用户选择日期和移动到下一个和上一个月,默认值,一周的第一天设置在星期天,可以允许改变这个默认值,通过设置 'firstDay'属性的值. ... -
Java Calendar类
2019-06-09 19:54:47Calendar类是一个抽象类,它为毫秒值与YEAR、MONTH等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。 1、Calendar日历字段 1.1、Calendar.YEAR 年份 1.2、Calendar.MONTH 月份 1.3、Calendar... -
Calendar类简介
2019-07-14 16:37:05Calendar类简介 Calendar是java util包下的一个工具类,提供了很方便的不同日期格式的处理。啥也不说了,直接撸代码: public static void main(String[] args) { System.out.println("------------Calendar无参... -
java calendar_Java Calendar after()方法与示例
2020-07-21 09:29:19java calendar Calendar类after()方法 (Calendar Class after() method) after() method is available in java.util package. after()方法在java.util包中可用。 after() method is used to check whether this ... -
Java Calendar
2017-07-27 17:25:46import java.text.SimpleDateFormat;...import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { SimpleDateFormat sdf = new Simple -
JAVA常见类(十二)Calendar类
2018-07-17 22:11:30Calendar类 Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。 一、构造方法 protected ... -
calendar.js
2007-05-14 03:05:40calendar.js -
Calendar中的Calendar.HOUR容易出错的地方
2018-06-15 16:17:01Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.set(Calendar.HOUR_OF_DAY, 12); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0);Calendar c = Calendar.getInstance(); c.setTime(new Dat... -
python calendar介绍
2019-04-08 18:42:05calendar(日历)模块,默认每周第一天是星期一,最后一天是星期天。这也是python一个处理时间的模块。提供了对日期的一些操作方法,和生成日历的方法。 calendar模块中提供了三大类: 一、calendar.Calendar... -
Calendar用法
2015-07-27 23:23:26类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。 java.util.... -
javase-Calendar
2019-04-18 17:04:50文章目录1. 当前时间2. 日期格式化3.... Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime()); // ==>Thu Apr 18 15:58:05 CST 2019 2. 日期格式化 Ca... -
java时间操作方法Calendar
2018-03-05 16:29:45Calendar Java时间类当前时间: Calendar rightNow = Calendar.getInstance();获取时间: int year = calendar.get(Calendar.YEAR);设置参数: calendar.set(Calendar.YEAR, 2000); System.out.println("现在是... -
Calendar详解
2017-02-20 00:48:53定义Calendar 类是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。,它为特定时间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如... -
Calendar日历对象
2017-11-22 19:49:56calendar可以设置相对时间,或者直接设置时间。这个用的比较多1:对象的获取 Calendar calendar = Calendar.getInstance(); System.out.println(calendar);java.util.GregorianCalendar [time=1511346308476,... -
日历插件:full-calendar和angular-ui-calendar
2019-02-28 23:35:19日历插件:angular-ui-calendar和full-calendar插件使用方法full-calendar语言切换uiCalendarConfig的使用数据源的更新 full-calendar:https://fullcalendar.io/ angular-ui-calendar gitHub地址:... -
Calendar、GregorianCalendar
2019-04-29 00:04:08Calendar和GregorianCalendar Calendar类是个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。 GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区... -
Calendar日历函数
2017-09-28 13:53:55package date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { ... Calendar calendar = Calendar.getInstance(); -
calendar模块用法
2016-11-14 18:53:08calendar模块用法 -
java Calendar 中设置时间为0点 0 分 0 秒
2018-02-08 09:30:03public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); // 时 calendar.set(Calendar.HOUR_OF_DAY, 0); // 分 calendar.set(Calendar.MINUTE, 0); // 秒 calend... -
Calendar set(Calendar.MONTH, month);方法的bug
2018-03-29 10:30:08Calendar 是java中一个非常好用的日历类。 使用方法 public static Date getMonthFirstDay(Integer year,Integer month){ Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); //c.set...
-
信息安全体系风险评估.ppt
-
公安系统集成项目标准汇总
-
IT安全风险评估管理指南_V1.0.doc
-
PAT甲级-排序类型-1016 Phone Bills解题思路
-
java注解和反射的个人学习笔记
-
python实现链表
-
MySQL 高可用工具 heartbeat 实战部署详解
-
信息安全风险评估培训教材.ppt
-
【爱码农】C#制作MDI文本编辑器
-
【ACWing】1023. 买书
-
项目管理工具与方法
-
nacos客户端双击启动
-
Android 用户登录界面
-
2021年 系统架构设计师 系列课
-
ubuntu系统下安装windows并引导双系统
-
IDEA远程调试SpringBoot项目.pdf
-
Axure一些常用模板下载(免费模板)
-
Win10 Dolby Atmos Speaker System 杜比全景声(Dolby Atmos)扬声器系统.zip
-
工程制图 AutoCAD 2012 从二维到三维
-
任何程序都必须加载到什么中才能被cpu执行