calendar当前时间整点_时间处理相关类
时间处理相关类
在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一)。
时间相关类有如下
Date时间类(java.util.Date)
在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。
- Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒)。
- Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
- boolean after(Date when) 测试此日期是否在指定日期之后。
- booleanbefore(Date when) 测试此日期是否在指定日期之前。
- boolean equals(Object obj) 比较两个日期的相等性。
- long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
- String toString() 把此 Date 对象转换为以下形式的 String:
dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun、 Mon、Tue、Wed、 Thu、 Fri、 Sat)。
Date类的使用
import java.util.Date;
public class TestDate {public static void main(String[] args) {Date date1 = new Date();System.out.println(date1.toString());long i = date1.getTime();Date date2 = new Date(i - 1000);Date date3 = new Date(i + 1000);System.out.println(date1.after(date2));System.out.println(date1.before(date2));System.out.println(date1.equals(date2));System.out.println(date1.after(date3));System.out.println(date1.before(date3));System.out.println(date1.equals(date3));System.out.println(new Date(1000L * 60 * 60 * 24 * 365 * 39L).toString());}
}
JDK1.1之前的Date包含了:日期操作、字符串转化成时间对象等操作。JDK1.1之后,日期操作一般使用Calendar类,而字符串的转化使用DateFormat类。
DateFormat类和SimpleDateFormat类
DateFormat类的作用
把时间对象转化成指定格式的字符串。反之,把指定格式的字符串转化成时间对象。
DateFormat是一个抽象类,一般使用它的的子类SimpleDateFormat类来实现。
DateFormat类和SimpleDateFormat类的使用
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDateFormat {public static void main(String[] args) throws ParseException {// new出SimpleDateFormat对象SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");SimpleDateFormat s2 = new SimpleDateFormat("yyyy-MM-dd");// 将时间对象转换成字符串String daytime = s1.format(new Date());System.out.println(daytime);System.out.println(s2.format(new Date()));System.out.println(new SimpleDateFormat("hh:mm:ss").format(new Date()));// 将符合指定格式的字符串转成成时间对象.字符串格式需要和指定格式一致。String time = "2007-10-7";Date date = s2.parse(time);System.out.println("date1: " + date);time = "2007-10-7 20:15:30";date = s1.parse(time);System.out.println("date2: " + date);}
}
Calendar日历类
Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
注意月份的表示,一月是0,二月是1,以此类推,12月是11。 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。
GregorianCalendar类和Calendar类的使用
import java.util.*;
public class TestCalendar {public static void main(String[] args) {// 得到相关日期元素GregorianCalendar calendar = new GregorianCalendar(2999, 10, 9, 22, 10, 50);int year = calendar.get(Calendar.YEAR); // 打印:1999int month = calendar.get(Calendar.MONTH); // 打印:10int day = calendar.get(Calendar.DAY_OF_MONTH); // 打印:9int day2 = calendar.get(Calendar.DATE); // 打印:9// 日:Calendar.DATE和Calendar.DAY_OF_MONTH同义int date = calendar.get(Calendar.DAY_OF_WEEK); // 打印:3// 星期几 这里是:1-7.周日是1,周一是2,。。。周六是7System.out.println(year);System.out.println(month);System.out.println(day);System.out.println(day2);System.out.println(date);// 设置日期GregorianCalendar calendar2 = new GregorianCalendar();calendar2.set(Calendar.YEAR, 2999);calendar2.set(Calendar.MONTH, Calendar.FEBRUARY); // 月份数:0-11calendar2.set(Calendar.DATE, 3);calendar2.set(Calendar.HOUR_OF_DAY, 10);calendar2.set(Calendar.MINUTE, 20);calendar2.set(Calendar.SECOND, 23);printCalendar(calendar2);// 日期计算GregorianCalendar calendar3 = new GregorianCalendar(2999, 10, 9, 22, 10, 50);calendar3.add(Calendar.MONTH, -7); // 月份减7calendar3.add(Calendar.DATE, 7); // 增加7天printCalendar(calendar3);// 日历对象和时间对象转化Date d = calendar3.getTime();GregorianCalendar calendar4 = new GregorianCalendar();calendar4.setTime(new Date());long g = System.currentTimeMillis();}static void printCalendar(Calendar calendar) {int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH) + 1;int day = calendar.get(Calendar.DAY_OF_MONTH);int date = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 星期几String week = "" + ((date == 0) ? "日" : date);int hour = calendar.get(Calendar.HOUR);int minute = calendar.get(Calendar.MINUTE);int second = calendar.get(Calendar.SECOND);System.out.printf("%d年%d月%d日,星期%s %d:%d:%dn", year, month, day, week, hour, minute, second);}
}
可视化日历的编写
import java.text.ParseException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class TestCalendar2 {public static void main(String[] args) throws ParseException {System.out.println("请输入日期(格式为:2010-3-3):");Scanner scanner = new Scanner(System.in);String dateString = scanner.nextLine(); // 2010-3-1// 将输入的字符串转化成日期类System.out.println("您刚刚输入的日期是:" + dateString);String[] str = dateString.split("-");int year = Integer.parseInt(str[0]);int month = new Integer(str[1]);int day = new Integer(str[2]);Calendar c = new GregorianCalendar(year, month - 1, day); // Month:0-11// 大家自己补充另一种方式:将字符串通过SImpleDateFormat转化成Date对象,//再将Date对象转化成日期类// SimpleDateFormat sdfDateFormat = new SimpleDateFormat("yyyy-MM-dd");// Date date = sdfDateFormat.parse(dateString);// Calendar c = new GregorianCalendar();// c.setTime(date);// int day = c.get(Calendar.DATE);c.set(Calendar.DATE, 1);int dow = c.get(Calendar.DAY_OF_WEEK); // week:1-7 日一二三四五六System.out.println("日t一t二t三t四t五t六");for (int i = 0; i < dow - 1; i++) {System.out.print("t");}int maxDate = c.getActualMaximum(Calendar.DATE);// System.out.println("maxDate:"+maxDate);for (int i = 1; i <= maxDate; i++) {StringBuilder sBuilder = new StringBuilder();if (c.get(Calendar.DATE) == day) {sBuilder.append(c.get(Calendar.DATE) + "*t");} else {sBuilder.append(c.get(Calendar.DATE) + "t");}System.out.print(sBuilder);// System.out.print(c.get(Calendar.DATE)+// ((c.get(Calendar.DATE)==day)?"*":"")+"t");if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {System.out.print("n");}c.add(Calendar.DATE, 1);}}
}
calendar当前时间整点_时间处理相关类相关推荐
- 数学建模时间序列分析_时间序列分析建模验证
数学建模时间序列分析 时间序列预测 (Time Series Forecasting) 背景 (Background) This article is the fourth in the series ...
- vue怎么截取时间年月_时间格式的转化 vue与js 年月日 时分秒
首先使用原生转化的方法 第一种 //时间转换 dateStr(d, sign) { //如果没有传递符号,给一个默认的符号 if (!sign) { sign = '-' } //获取d里面年月日时分 ...
- 打印当前时间 毫秒_时间轮定时器
时间轮算法(Timing-Wheel)很早出现在linux kernel 2.6中.因效率非常高,很多应用框架都实现了这个算法.还有些定时器使用最小堆实现,但总体来说,时间轮算法在插入性能上更高. 前 ...
- mysql获取时间_时间类型_时间格式化
为了方便在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型,分别是YEAR.DATE.TIME.DATETIME和TIMESTAMP.如下表列举了这些MySQL中日期和时间数据类型所对 ...
- pwm一个时间单位_时间的换算单位是怎么换算的啊,秒,毫秒,微妙,纳秒等
展开全部 常见时间单位换算: 1秒=1000毫秒(ms) 1秒=1,000,000 微秒62616964757a686964616fe58685e5aeb931333366303836(μs) 1秒= ...
- 人生时间计算器_时间计算器
匿名用户 1级 2010-07-14 回答 展开全部 将下面代码复制到txt文件中,并将其保存为Form1.frm,然后运行 但是要注意:填入的时间不能隔日,即开始时间与结束时间都必须在同一天. VE ...
- Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类
时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...
- mysql 时间国际化_日期时间处理和国际化相关
日期/时间的国际化,不仅涉及到地理位置(Locale,比如星期.月份等日历本地化表示),还涉及到时区(TimeZone,针对UTC/GMT的偏移量).时区不仅是地理位置规定,更是政治规定,比如中国从地 ...
- Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...
最新文章
- CSS三角形如何工作?
- 第一章 动态规划【未完结】
- 芯片业巨震!英特尔拟90亿美元卖掉NAND闪存业务
- JavaScript异步编程之事件
- Spring MVC中基于自定义Editor的表单数据处理技巧
- 泰勒公式的展开细节解析、本质、联想与思考
- python整数因式分解
- 使用aspose进行将word转换为图片格式
- “DAO”是什么?从Web发展详细解析什么是DAO
- 微信小程序通过BLE低功耗蓝牙向USB HID键盘设备输出汉字(内含GBK编码转汉字)
- 【ITool】excel导入导出工具
- heading pitch bank
- NFV与SDN的区别与联系
- slack 使用说明_使用Reacji自动将Slack消息移至其他渠道
- 论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning
- 儿童节html5小游戏,适合儿童节活动上玩的亲子互动小游戏
- 惠普笔记本禁用触屏功能
- 如何问一个人做什么工作_只是让你的人做他们的工作
- python 视频抽帧_FFmpeg视频抽帧那些事
- 基于javascript的div浮动效果代码
热门文章
- 阻抗匹配工具_工具 | 9R Fret Polishing Wheels 品丝抛光轮
- ps修改dds贴图_「干货」喜爱3D游戏动漫建模的你,必备的次世代游戏贴图技巧...
- git服务器安装位置,Linux服务器安装gitlabe-runner,并部署包到指定目录,还有踩的一些坑~~...
- wk一sm5时间温度控制器_新能源汽车电机控制器温度计算及其模型—DC电容篇
- 低代码平台如何一步步摧毁开发团队的效率与创新!
- 皮一皮:这就是我的开发水平...
- 居然仅用浏览器,就完成了Spring Boot应用的开发与部署!
- 玩转spring mvc入参自定义类型转换和格式化
- Spring Boot 配置文件中的花样,看这一篇足矣!
- Spring 中策略模式的 2 个经典应用