Java学习(日期与时间、 Date类型)

本文深入讲解Java中的日期时间处理,包括Date、SimpleDateFormat、Calendar等类的使用方法,以及如何进行时间格式化、解析和计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*日期与时间
1.java中的时间:
(1)java中采用标准类库的Date类型时间。使用距离一个固定时间点的
毫秒数的时间点来表示时间
(2)固定时间点即纪元(UTC)。也就是1970年1月1日 00:00:00
(3)UTC与GMT都是世界通用的时间格式

( javase:标准版本的jdk,即类库为基本类库
  javaee:企业版本的jdk,基本类库满足不了企业开发的需求,因此此jdk中,含有其他与企业开发相关的类库
  javame:移动版本的jdk,jdk中含有与移动端开发的类型)

2.Date类型
java.util.Date类型,封装了日期与时间的信息。
之后里面的很多功能都弃用,渐渐的使用Calender类型来替代

(1)构造器
Date():
创建一个封装当前系统时间的Date对象
Date(long time):
创建一个距离纪元time毫秒的Date对象

(2)常用方法
long getTime();
返回距离纪元的毫秒数
void setTime(long time);
修改时间对象的毫秒数

*SimpleDateFormat:
作用:此类型可以对Date进行格式化以及将字符串转成Date类型。

–常用构造器:
SimpleDateFormat(String format):
创建一个指定格式的SimpleDateFromat对象。
–常用方法:
String format(Date date)
作用是将参数date按照构造器里的格式进行格式化成字符串
Date parse(String str)
作用是将指定字符串str转变成Date类型
–常用格式:
yy:
yyyy: 年
MM:月
dd:日

  HH:时(24制)
  hh:时(12制)
  mm:分
  ss:秒
  a:上下午
  E:星期              

练习: 计算自己已经生活了多少毫秒

*Calendar:
(1)是日历类型,此类型封装了有关于日历的所有信息。主要用于计算时间分量。
时间分量:日期和时间的一部分有效值。
(2)Calendar
是一个抽象类,提供了一方法getInstance()来获取一个通用的
子类型对象,一般都是GregorianCalendar(格力高历,阳历)类型的对象。
(3)时间分量常量:
static int YEAR
static int MONTH:日历里的月份是0-11。

 static int DATE
 static int DAY_OF_WEEK:默认从周日到周六,即1-7
 static int DAY_OF_MONTH
 .....

(4)类型中提供了get(int field)方法,通过指定时间分量常量来获取
相应的时间分量的值
(5)提供了set(int field,int value),进行设置时间分量值 “jmu8延迟修改效应”

(6)提供了add(int field,int value),用于对当前日历信息通过
时间分量来计算value后的日历信息

          注意:value值如果是负数,向前推算。 

(7)提供了setLenient(boolean boo),用于设置Calendar的容错性
当参数设置为false时,关闭Calendar的容错性555555555555

–其他方法:
Date getTime(): 将日历对象转成Date对象

 void setTime(Date date): 将指定date日期转成日历对象的信息
      
 int getActualMaximum(int field): 获取指定时间分量的最大值 
         如:
              指定Calendar.MONTH,获取的是11,即12月份
     Calendar.DATE,获取的是当前日历对象所在月天数的最大值

=======================================================================================================
练习:输出2016年每月的天数。

1.已知字符串:“this is a test of java”.
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串"test"
(3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单

2.使用正则表达式匹配所输入的字符串是否是由数字和字母组成的内容,若不是则重新输入

3.密码设置:长度为8-10、以字母开头、必须要有数字、必须要有下划线

实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符逻辑运算符 5 (四) 使用表达式语句复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期时间的程序 13 (四)使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统类的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 (四)使用 Swing 组件 39 (五)使用自定义对话框内部类 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形类 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 (四)使用数据输入输出流文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 (四)编写程序,完成查询功能 62
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值