Java中Date日期时间类怎么使用


这篇文章主要讲解了“Java中Date日期时间类怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中Date日期时间类怎么使用”吧!java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象:第二个构造函数接收一个参数,该参数是从 1970 年 1 月 1 日起的毫秒数Date 对象创建以后,可以调用下面的方法:例如获取当前日期时间并打印:Java使用以下三种方法来比较两个日期:使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:SimpleDateFormat ft = new SimpleDateFormat (“yyyy-MM-dd hh:mm:ss”); 这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:printf 方法可以很轻松地格式化时间和日期。使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾。%tY:输出四位数的年免费云主机域名份,例如:2023%ty:输出两位数的年份,例如:23%tm:输出两位数的月份,例如:02%tB:输出月份的全名,例如:February%tb:输出月份的缩写,例如:Feb%tA:输出星期的全名,例如:Wednesday%ta:输出星期的缩写,例如:Wed%td:输出两位数的日期,例如:24%te:输出一位或两位数的日期,例如:24 或 02%tH:输出24小时制的小时数,例如:23%tI:输出12小时制的小时数,例如:11%tM:输出分钟数,例如:45%tS:输出秒数,例如:30%tp:输出上午还是下午,例如:AM 或 PM%tZ:输出时区,例如:GMT+08:00printf格式化日期实例:格式化日期:使用转换符格式化日期:如果你需要重复提供日期,那么利用这种方式来格式化它的每一部分就有点复杂了。因此,可以利用一个格式化字符串指出要被格式化的参数的索引。索引必须紧跟在 % 后面,而且必须以 $ 结束。例如:或者,你可以使用
定义日期格式的转换符可以使日期通过指定的转换符生成新字符串。这些日期转换符如下所示:SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。例如:sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会。你可以让程序休眠一毫秒的时间或者到您的计算机的寿命长的任意段时间。例如,下面的程序会休眠3秒:测量时间间隔(以毫秒为单位)的实例:color{red}{测量时间间隔(以毫秒为单位)的实例 :}测量时间间隔(以毫秒为单位)的实例:我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。Calendar类的功能要比Date类强大很多,但在实现方式上也比Date类要复杂一些。Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。例如创建一个代表系统当前日期的Calendar对象:或者创建一个指定日期的Calendar对象(注:Calendar 的月份是从 0 开始的):Calendar类对象字段类型:Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想:Calendar类对象信息的设置set设置:调用 public final void set(int year,int month,int date) 方法。例如:如果只设定某个字段,例如日期的值,则可以使用 public void set(int field,int value) 方法。例如,把 c1对象代表的日期设置为10号,其他的所有数值会被重新计算:其他字段属性set的意义以此类推。add设置:把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算:把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算:其他字段属性的add的意义以此类推。Calendar类对象信息的获得Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。Calendar 的getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象。GregorianCalendar定义了两个字段:AD和BC。这是代表公历定义的两个时代。下面列出GregorianCalendar对象的几个构造方法:GregorianCalendar() —— 在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。GregorianCalendar(int year, int month, int date) —— 在具有默认语言环境的默认时区内构造一个带有给定日期设置的 GregorianCalendar。GregorianCalendar(int year, int month, int date, int hour, int minute) —— 为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。GregorianCalendar(int year, int month, int date, int hour, int minute, int second) —— 为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。GregorianCalendar(Locale aLocale) —— 在具有给定语言环境的默认时区内构造一个基于当前时间的 GregorianCalendar。GregorianCalendar(TimeZone zone) —— 在具有默认语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。GregorianCalendar(TimeZone zone, Locale aLocale) —— 在具有给定语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。这里是GregorianCalendar 类提供的一些尝用的方法列表:void add(int field, int amount) —— 根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。protected void computeFields() —— 转换UTC毫秒值为时间域值。protected void computeTime() —— 覆盖Calendar ,转换时间域值为UTC毫秒值。boolean equals(Object obj) —— 比较此 GregorianCalendar 与指定的 Object。int get(int field) —— 获取指定字段的时间值。int getActualMaximum(int field) —— 返回当前日期,给定字段的最大值。int getActualMinimum(int field) —— 返回当前日期,给定字段的最小值。int getGreatestMinimum(int field) —— 返回此 GregorianCalendar 实例给定日历字段的最高的最小值。Date getGregorianChange() —— 获得格里高利历的更改日期。int getLeastMaximum(int field) —— 返回此 GregorianCalendar 实例给定日历字段的最低的最大值。int getMaximum(int field) —— 返回此 GregorianCalendar 实例的给定日历字段的最大值。Date getTime() —— 获取日历当前时间。long getTimeInMillis() —— 获取用长整型表示的日历的当前时间。TimeZone getTimeZone() —— 获取时区。int getMinimum(int field) —— 返回给定字段的最小值。int hashCode() —— 重写hashCode。boolean isLeapYear(int year) —— 确定给定的年份是否为闰年。void roll(int field, boolean up) —— 在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。void set(int field, int value) —— 用给定的值设置时间字段。void set(int year, int month, int date) —— 设置年、月、日的值。void set(int year, int month, int date, int hour, int minute) —— 设置年、月、日、小时、分钟的值。void set(int year, int month, int date, int hour, int minute, int second) —— 设置年、月、日、小时、分钟、秒的值。void setGregorianChange(Date date) —— 设置 GregorianCalendar 的更改日期。void setTime(Date date) —— 用给定的日期设置Calendar的当前时间。void setTimeInMillis(long millis) —— 用给定的long型毫秒数设置Calendar的当前时间。void setTimeZone(TimeZone value) —— 用给定时区值设置当前时区。String toString() —— 返回代表日历的字符串。GregorianCalendar 使用实例:方法实例:color{red}{方法实例:}方法实例:时间戳转换成时间:感谢各位的阅读,以上就是“Java中Date日期时间类怎么使用”的内容了,经过本文的学习后,相信大家对Java中Date日期时间类怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: JS中小数相加不精确的原因是什么

这篇文章主要介绍“JS中小数相加不精确的原因是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS中小数相加不精确的原因是什么”文章能帮助大家解决问题。在Javascript中,小数就是浮点数。在进行小数相加时,我们…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/06 12:29
下一篇 07/06 12:29

相关推荐