文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java日期相关类的示例分析

2023-05-30 23:13

关注

这篇文章将为大家详细讲解有关java日期相关类的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、Date类

类 Date 表示特定的瞬间,精确到毫秒。用距离1970年1月1日00:00:00的毫秒数(long)类型来表示一个特定的时间点,该值可正可负。

Date类中很多方法已经过时,使用Calendar来替代。

常用方法有

long getTime()
void setTime(long time)

public class T01Date {   public static void main(String[] args) {     //getTime():返回的时间是距离1970年的毫秒数.值不受setTime()的影响     //date值受setTime()的影响     Date date=new Date();     long current=date.getTime();     System.out.println(current);//1472002479966     System.out.println(date);//Wed Aug 24 09:34:39 CST 2016     long time=current+1000*60*60*24;//时间设置为明日此时     date.setTime(time);     System.out.println(date.getTime());//1472002479966     System.out.println(current);//1472002479966     System.out.println(date);// Thu Aug 25 09:34:39 CST 2016   } }

二、SimpleDateFormat

SimpleDateFormat根据特定的日期格式在Date和字符串之间转换

常用方法

String format(Date date):将日期按照指定格式转换成字符串
Date parse(String str):将字符串按照指定格式转换成Date

可以用来指定格式的字符

 public class T02SimpleDateFormat {   public static void main(String[] args) throws ParseException {     Date now =new Date();     //2016-08-12 09:55:23     //yyyy-MM-dd hh:ss:mm     SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh时ss分mm秒");     String str = sdf.format(now);     System.out.println(str);     //a 居然能区分上下午汉字     String strDate="2012年12月20日下午12点20分30秒";     SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日ahh点ss分mm秒");     Date date=sdf2.parse(strDate);     System.out.println(date);   } }

三、Calendar

java.util.Calendar是抽象类,主要用来对时间分量进行计算。

常用方法

(1)Date和Calendar之间的转换

  //默认创建出来的Calendar的实现类表示当前系统时间     Calendar c=Calendar.getInstance();     //将Calendar转换为Date     Date date=c.getTime();     //Date->Calendar          c.setTime(date);   } }

(2)getInstance()方法

Calendar是抽象类,其提供了一个工厂方法:Calendar getInstance()用来获取Calendar类型的实例

(3)get(int field)方法获取时间分量

import java.util.Calendar;  public class T05Calendar2 {   public static void main(String[] args) {     Calendar c=Calendar.getInstance();     //获取年     int year=c.get(Calendar.YEAR);     System.out.println("year:"+year);//2016     //获取月:月从0开始!!!,0表示一月     int month=c.get(Calendar.MONTH);     System.out.println("month:"+month);//7          System.out.println(c.get(Calendar.DATE));     System.out.println(c.get(Calendar.DAY_OF_MONTH));     System.out.println(c.get(Calendar.DAY_OF_YEAR));     System.out.println(c.get(Calendar.DAY_OF_WEEK));     int dow=c.get(Calendar.DAY_OF_WEEK)-1;     String[] data={"日","一","二","三","四","五","六"};     System.out.println("周"+data[dow]);     //获取小时,分钟,秒   HOUR_OF_DAY:24小时  HOUR:12小时      System.out.println(c.get(Calendar.HOUR_OF_DAY));//14     System.out.println(c.get(Calendar.HOUR));//2     System.out.println(c.get(Calendar.MINUTE));     System.out.println(c.get(Calendar.SECOND));   } }

(4)set()方法设置时间分量

 public class T06Calendar3 {   public static void main(String[] args){     //表示2008-08-08 20:08:08     //设置年     Calendar c=Calendar.getInstance();     c.set(Calendar.YEAR,2008);     //设置月,月从0开始     c.set(Calendar.MONTH,Calendar.AUGUST);     //设置日     c.set(Calendar.DATE, 8);     //设置时     c.set(Calendar.HOUR_OF_DAY,20);     //设置分     c.set(Calendar.SECOND,8);     //设置秒     c.set(Calendar.MINUTE,8);     System.out.println(c.getTime());     //!!!设置的时间分量超出后,会自行进位   } }

(5)add()方法在当前时间分量基础上修改时间分量

(6)getActualMaximum()获取某个时间分量所允许的最大值

 public class T07Calendar4 {   public static void main(String[] args) {     Calendar c=Calendar.getInstance();     //查看当月共多少天     int days=c.getActualMaximum(Calendar.DAY_OF_MONTH);     System.out.println(days);     //查看今年多少天     int doy=c.getActualMaximum(Calendar.DAY_OF_YEAR);     System.out.println(doy);     int t=c.getActualMaximum(Calendar.MINUTE);     System.out.println(t);   } }

四、Date、SimpleDateFormat和Calendar的一个综合实例

@Test   public void test01() throws ParseException{     //要求用户输入一个日期,计算后,指定格式输出日期          String input="2013-03-26";          SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");     Date date=sdf.parse(input);     Calendar c=Calendar.getInstance();     //set(),与add()     c.setTime(date);     c.add(Calendar.YEAR,1);     c.set(Calendar.MONTH,0);     c.set(Calendar.DAY_OF_WEEK,1);          date=c.getTime();     SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd分hh时ss分mm秒");     String strTime=sdf2.format(date);     System.out.println(strTime);   }

关于“java日期相关类的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯