JodaTime时间处理工具使用详解

JodaTime时间处理工具使用详解工作中经常用到java日期类型Date、Calendar或SimpleDateFormat,但是这些日期工具类要么提供了过期的方法(Date),要么就是功能不够强大。最近突然用到了Joda-Time日期工具,发现非常好用,就撰写此文,以便学习和交流。

大家好,又见面了,我是你们的朋友全栈君。

1. 说明:

      工作中经常用到java日期类型Date、Calendar或SimpleDateFormat,但是这些日期工具类要么提供了过期的方法(Date),要么就是功能不够强大。最近突然用到了Joda-Time日期工具,发现非常好用,就撰写此文,以便学习和交流。

2. Maven依赖:

  <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.9.7</version>
  </dependency>

3. 实战:

package com.joda.time.utils;

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

/**
 * Created by   on 2017/3/24.
 */
public class DateTimeFormatterTest {


    public static void main(String[] args) {


        DateTime dateTime = new DateTime();


        System.out.println("currentTimeMillis:" + System.currentTimeMillis());
        System.out.println("longDateTime:" + new DateTime().getMillis());


        // DateTime换java Date
        Date date = dateTime.toDate();
        // DateTime换java Calendar
        Calendar calendar = dateTime.toCalendar(Locale.CHINESE);


        System.out.println("year:" + dateTime.getYear());
        System.out.println("month:" + dateTime.getMonthOfYear());
        System.out.println("day:" + dateTime.getDayOfMonth());
        System.out.println("MinuteOfDay:" + dateTime.getMinuteOfDay());
        System.out.println("Hour:" + dateTime.getHourOfDay());
        System.out.println("Minute:" + dateTime.getMinuteOfHour());
        System.out.println("Second:" + dateTime.getSecondOfMinute());


        DateTimeFormatter format = DateTimeFormat.forPattern("yyyy年MM月dd日 HH:mm:ss");
        System.out.println(format.print(dateTime.getMillis()));


        DateTimeFormatter format1 = DateTimeFormat.forPattern("yyyy.MM.dd HH:mm:ss");
        System.out.println(format1.print(dateTime.getMillis()));


        DateTimeFormatter format2 = DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss");
        System.out.println(format2.print(dateTime.getMillis()));


    }




}

 4.输出结果:

       

currentTimeMillis:1496994136904
longDateTime:1496994136904
year:2017
month:6
day:9
MinuteOfDay:942
Hour:15
Minute:42
Second:16
2017年06月09日 15:42:16
2017.06.09 15:42:16
2017-06-09 03:42:16

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149550.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 模拟器 haxm,Android模拟器不使用HAXM

    android 模拟器 haxm,Android模拟器不使用HAXM我遇到HAXM问题.在我使用Windows7之前,一切都很好,但升级到Win8.1Pro后,当我从AVD屏幕启动模拟器时,我看不到haxm启动消息.HAXM安装并正常工作,我安装了x86的图像,我的设备使用它但仍然无法在启动窗口中看到Emulator正在使用haxm的确认消息.这是情况;>我的处理器支持vt.>我检查了我的服务,所有Hyper-VT服务都“停止”>HAXM…

    2022年6月28日
    22
  • 批处理 %~dp0是什么意思「建议收藏」

    批处理 %~dp0是什么意思「建议收藏」cd/D%~dp0的意思如下:更改当前目录为批处理本身的目录比如你有个批处理a.bat在D:\qq文件夹下a.bat内容为cd/d%~dp0在这里cd/d%~dp0的意思就是cd/dd:\qq%0代表批处理本身d:\qq\a.bat~dp是变量扩充d既是扩充到分区号d:p就是扩充到路径\qqdp就是扩充到分区号路径d:\qq…

    2022年9月20日
    0
  • nonzero函数_python 类方法

    nonzero函数_python 类方法类的nonzero方法用于将类转换为布尔值。通常在用类进行判断和将类转换成布尔值时调用。比如语句ifA:print'foo'中就会调用A.nonzero()来判断。下面这个程序应

    2022年8月6日
    3
  • Android n_Android10特性

    Android n_Android10特性开发者角度看 AndroidN的新特性

    2022年9月5日
    2
  • Apache knox_apache发生服务特定错误1

    Apache knox_apache发生服务特定错误1knox错误总结windowsbrowser有时候打不开KnoxUIhosts文件添加Knox的{{GATE_WAY}}ip的映射就可以打开界面了打开Knoxadmin_UI后显示不完全需要下载特定的js,私信我即可解决Knox配置yarnservice报错2020-03-1717:07:13,311ERRORknox.gateway(Gateway…

    2022年10月24日
    0
  • cglib BeanCopier的使用

    cglib BeanCopier的使用一、概述  选择Cglib的BeanCopier进行Bean拷贝的理由是,其性能要比Spring的BeanUtils,Apache的BeanUtils和PropertyUtils要好很多,尤其是数据量比较大的情况下。  之前的一篇文章:Easy-mapper教程——模型转换工具提到了Cglib的BeanCopier使用ASM字节码生成技术,所以性能会非常好。  下面的文章内容直接整理…

    2022年9月5日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号