8.4-全栈Java笔记:时间处理相关类(下)
来源:互联网 发布:mac 改键位 编辑:程序博客网 时间:2024/06/05 23:47
上节我们聊到了「时间格式化字符」,实际上它也为我们提供其他的便利。
比如:获得当前时间是今年的第几天。代码如下:
public class Test {
public static void main(String[] args) {
SimpleDateFormat s1 = new SimpleDateFormat("D");
String daytime = s1.format(new Date());
System.out.println(daytime);
}
}
Calendar日历类
Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar
是Calendar
的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
菜鸟雷区
注意月份的表示,一月是0,二月是1,以此类推,12月是11。 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。
【示例1】GregorianCalendar类和Calendar类的使用
package com.bjsxt.gao;
import java.util.*;
public class TestCanlendar {
public static void main(String[] args) {
//得到相关日期元素
GregorianCalendar calendar = new GregorianCalendar(2999,10,9,22,10,50);
int year = calendar.get(Calendar.YEAR); //打印:1999
int month = calendar.get(Calendar.MONTH); //打印:10
int day = calendar.get(Calendar.DAY_OF_MONTH); //打印:9
int 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,。。。周六是7
System.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-11
calendar2.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); //月份减7
calendar3.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:%d\n",year,month,day,week,hour,minute,second);
}
}
示例1 运行效果图
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop
- 8.4-全栈Java笔记:时间处理相关类(下)
- 8.3-全栈Java笔记:时间处理相关类(上)
- 6.4-全栈Java笔记:异常处理办法(下)
- Java开发时间处理工具类(全)
- 6.3-全栈Java笔记:异常处理方法(上)
- java date时间相关处理
- Java-时间相关的处理
- 8.2-全栈Java笔记:字符串相关类(String/StringBuilder /StringBuffer)
- java处理Excel相关笔记
- JAVA处理日期(Date)时间(Time)以及相关类的介绍
- JAVA处理日期(Date)时间(Time)以及相关类的介绍
- JAVA处理日期(Date)时间(Time)以及相关类的介绍
- jAVA处理日期(Date)时间(Time)以及相关类的介绍
- JAVA处理日期(Date)时间(Time)以及相关类的介绍
- JAVA处理日期(Date)时间(Time)以及相关类的介绍
- JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)
- 6.1-全栈Java笔记:异常处理机制的概念
- 6.2-全栈Java笔记:异常处理机制的分类
- java 学习视频教程分享
- tf.sub/tf.mul/tf.neg等api废弃
- JavaScript 浏览器事件
- 选择结构
- 代码段
- 8.4-全栈Java笔记:时间处理相关类(下)
- nc实践
- Rxjava2+Retrofit2上传图片加参数失败问题解决
- Elasticsearch 内置的两个客户端的区别
- 包含min函数的栈
- python 正则抓取百度贴吧帖子数和关注度
- 6月26日云栖精选夜读:成为一名Java高级工程师你需要学什么
- CAP原理和BASE思想
- Apple portal弹窗报文分析