-
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
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 Simpleimport java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("1 - 当前日期: " + sdf.format(new Date())); Calendar calendar = Calendar.getInstance(); System.out.println("2 - 当前年份: " + calendar.get(Calendar.YEAR)); int currentMonth = calendar.get(Calendar.MONTH)+1; // 月份是从0开始,0表示1月 System.out.println("3 - 当前月份(1位数): " + currentMonth); System.out.println("4 - 当前日: " + calendar.get(Calendar.DATE)); System.out.println("=========================================="); System.out.println("5 - 当前小时(12小时制): " + calendar.get(Calendar.HOUR)); System.out.println("6 - 当前小时(24小时制): " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("7 - 当前分钟: " + calendar.get(Calendar.MINUTE)); System.out.println("8 - 当前秒: " + calendar.get(Calendar.SECOND)); System.out.println("=========================================="); System.out.println("9 - 当前上下午(0-上午;1-下午): " + calendar.get(Calendar.AM_PM)); System.out.println("=========================================="); System.out.println("10 - 今天是今年的第 " + calendar.get(Calendar.DAY_OF_YEAR) + " 天"); System.out.println("11 - 今天是这个月的第 " + calendar.get(Calendar.DAY_OF_MONTH) + " 天"); System.out.println("12 - 今天是这个月的第 " + calendar.get(Calendar.DAY_OF_WEEK) + " 周"); System.out.println("13 - 今天是这个月本周的第 " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH) + " 天"); calendar.setTime(new Date()); calendar.add(Calendar.MONTH, 2); // 1月从0开始的 System.out.println("14 - 下个月月份(1位数): " + calendar.get(Calendar.MONTH)); calendar.set(Calendar.DATE, 0); System.out.println("15 - 下个月最后一天日期: " + sdf.format(calendar.getTime())); } }
输出结果:
1 - 当前日期: 2017-07-27 2 - 当前年份: 2017 3 - 当前月份(1位数): 7 4 - 当前日: 27 ========================================== 5 - 当前小时(12小时制): 5 6 - 当前小时(24小时制): 17 7 - 当前分钟: 40 8 - 当前秒: 1 ========================================== 9 - 当前上下午(0-上午;1-下午): 1 ========================================== 10 - 今天是今年的第 208 天 11 - 今天是这个月的第 27 天 12 - 今天是这个月的第 5 周 13 - 今天是这个月本周的第 4 天 14 - 下个月月份(1位数): 8 15 - 下个月最后一天日期: 2017-08-31
-
java calendar
2014-10-28 15:08:00from head first java ...import java.util.Calendar; public class XCalendar { public static void main(String[] args){ Calendar c = Calendar.getInstance(); c.set(2004, 0 , 7 , 15 ,40 ); //设置时from head first java
import java.util.Calendar; public class XCalendar { public static void main(String[] args){ Calendar c = Calendar.getInstance(); c.set(2004, 0 , 7 , 15 ,40 ); //设置时间 System.out.println("now date:" + c.getTime()); long day1 = c.getTimeInMillis(); day1 += 1000 * 60 * 60; c.setTimeInMillis(day1); //以mills set time System.out.println("now date:" + c.getTime()); System.out.println("new Hour:" + c.get(Calendar.HOUR_OF_DAY)); c.add(Calendar.DATE, 35); //增加天数,会改变月份 System.out.println("add 35 days:" + c.getTime()); c.roll(Calendar.DATE, 35); //不改变月份情况下来增加天数。 System.out.println("roll 35 days:" + c.getTime()); c.set(Calendar.DATE, 1); //手动设置日期 System.out.println("after set 1:" + c.getTime()); } }
-
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
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 calendar time is after the time denoted by the given Object's time or not.
after()方法用于检查此日历时间是否在给定Object的时间所表示的时间之后。
after() method is a non-static method, it is accessible with the class object and if we try to access the method with the class name then we will get an error.
after()方法是一种非静态方法,可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
after() method does not throw an exception at the checking this calendar time with the given time.
after()方法在检查给定时间的日历时间时不会引发异常。
Syntax:
句法:
public boolean after(Object time);
Parameter(s):
参数:
Object time – represents the time to be compared with this calendar time.
对象时间 –表示要与此日历时间进行比较的时间。
Return value:
返回值:
The return type of the method is boolean, it returns true when the given time is before this calendar time otherwise it returns false.
方法的返回类型为boolean ,如果给定时间早于日历时间,则返回true ,否则返回false 。
Example:
例:
// Java Program to demonstrate the example of // boolean after(Object) method of Calendar import java.util.*; public class AfterOfCalendar { public static void main(String[] args) { // Instantiating two Calendar object Calendar curr_ca = Calendar.getInstance(); Calendar after_ca = Calendar.getInstance(); // By using add() method is to add the // 10 months to the current calendar after_ca.add(Calendar.MONTH, 10); // Display current and after calendar System.out.println("curr_ca.getTime(): " + curr_ca.getTime()); System.out.println("after_ca.getTime(): " + after_ca.getTime()); // By using after() method is to check // the after_ca time is after the curr_ca boolean status = after_ca.after(curr_ca); //Display Result System.out.println("after_ca.after(curr_ca): " + status); } }
Output
输出量
curr_ca.getTime(): Thu Jan 23 11:12:36 GMT 2020 after_ca.getTime(): Mon Nov 23 11:12:36 GMT 2020 after_ca.after(curr_ca): true
翻译自: https://www.includehelp.com/java/calendar-after-method-with-example.aspx
java calendar
-
Java Calendar类操作 java.util.Calendar
2018-07-18 23:02:59Java的Date类与Calendar类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始出现了Calendar类进行时间和日期处理。 Calendar是Java.util下的抽象类 // ... -
Java Calendar日期操作
2015-09-11 11:38:09package com.busi;import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;public class JavaCalendar { public void getNow() { Cal -
java Java Calendar 获取 上周日 上周六 时间运算
2018-04-02 16:45:02java Java Calendar 获取 上周日 上周六 首先我们要搞懂一个小坑,在Calendar中,也就是西方世界,周日是每周的第一天,周六是每周的最后一天。这点弄明白就很好搞。 获取上周六(也就是上周最后一天) 获取... -
JAVA Calendar详解
2011-03-11 13:53:00JAVA Calendar date 时间 日期 字符串 -
利用Java Calendar类打印日历
2019-07-24 22:24:38利用Java Calendar类打印日历 说到日历,我们接触的就多了,每天都在和日历打交道,每年家里都会买日历。那么,大家知道如何用Java打印日历呢?在这里,我说一下如何用Calendar类打印日历,非常简单,代码量很低的... -
Java Calendar使用方法
2016-07-07 17:51:121.java Calendar add方法 每个日期形式都有其整数值 public static Date addYears(Date date, int amount) { return add(date, 1, amount); } public static Date addMonths(Date date,... -
Java Calendar 类的格式操作
2016-06-17 12:01:27Java Calendar 类的格式操作 -
Java Calendar 获取上下午
2016-05-31 10:13:39Java Calendar 获取上下午 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = sdf.parse(yourdate); Calendar cal=Calendar.getInstance(); if(null!=da... -
Java Calendar类
2019-06-09 19:54:47Calendar类是一个抽象类,它为毫秒值与YEAR、MONTH等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。 1、Calendar日历字段 1.1、Calendar.YEAR 年份 1.2、Calendar.MONTH 月份 1.3、Calendar... -
Java Calendar 类的时间操作
2015-07-21 11:02:31Java Calendar 类时间操作,代码很简单。 演示了获取时间,日期时间的累加和累减。package MyTest;/* * 演示 Calendar 的一般操作 */ import java.util.Date; import java.text.SimpleDateFormat; import java.... -
Java Calendar 获取本周的星期一
2016-06-18 02:25:10Java Calendar 获取本周的星期一 //Java Calendar 获取本周的星期一 private String getFistDateOfWeek(String date){ Calendar cal=this.getCalendarIns(date); // 如果当前时间是星期天,则向上移动一... -
JAVA Calendar详解
2018-12-21 21:12:41究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同;阴(农)历,每个... -
Jmeter +Java Calendar 类的时间操作
2017-04-13 17:05:01想用jmeter获取最近几个月或最近一段时间时间,而Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。由此百度到了Java Calendar 类的时间操作的一些文章。 相关原文地址... -
java Calendar详解
2014-12-13 09:23:10Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是我们日常所用的公历历法,或者叫做阳历。我们可以直接使用new命令创建它的实例,或者使用... -
Java Calendar 类的时间操作+获取昨天日期
2017-11-22 12:01:21Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。 演示了获取时间,日期时间的累加和累减,以及比较。 原文地址:blog.csdn.net/joyous/article/details/9630893 ... -
java calendar 常用功能总结(SimpleDateFormat 格式化取值)
2017-12-04 17:50:19java calendar 笔记 使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日; 如果希望格式化时间为12小时制的,则使用hh:mm:ss;而如果希望格式化时间为24小时制的,则使用HH:mm:ss; SimpleDateFormat ... -
Java Calendar获取年、月、日、时间
2017-07-11 18:52:21Java Calendar获取年、月、日、时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间 int year = c.get(Calendar.YEAR); //获取年 int month = c.... -
java Calendar获取当前时间
2019-05-31 09:41:42获取系统当前时间戳 public static void main(String... Calendar cal=Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int day = cal.get(Calendar.... -
java Calendar操作
2013-05-06 16:38:46package com.dada.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TestCalendar { public static void main(String[] args) { SimpleDateFormat s -
8.Java Calendar获取年、月、日、时间
2018-07-31 10:23:19Java Calendar获取年、月、日、时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间 int year = c.get(Calendar.YEAR); //获取年 int month...
-
PKI&ID.pptx
-
批量生成条形码和二维码.zip
-
IT安全风险评估管理指南_V1.0.doc
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
三级网络技术知识点小礼包.pdf
-
map和flatMap的区别
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
git实现merge撤销同时清除merge的本地文件
-
ubuntu系统下安装windows并引导双系统
-
php中上传图片到mysql数据库中
-
公安系统集成项目标准汇总
-
MySQL 高可用工具 heartbeat 实战部署详解
-
龙芯生态应用开发基础:C语言精要
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
Ubuntu 设置中文
-
批量新建工作簿
-
20210301resume.zip
-
友邦.rar电气设备选型资料大全 (适合刚刚入行的电气工程师对设备进行选型规划)详解
-
2021-03-02