Joda-Time几个用法小记

1, 获取每天的零点

DateTime dt=new DateTime().withMillisOfDay(0);
System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));//结果2016-09-09 00:00:00

2, 在每天的6:30处理一些东西

DateTime dt=new DateTime().withHourOfDay(6).withMinuteOfHour(30).withSecondOfMinute(0);
System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));//结果2016-09-09 06:30:00

3, 在每月的7号的6:30处理一些东西

DateTime dt=new DateTime().withDayOfMonth(7).withHourOfDay(6).withMinuteOfHour(30).withSecondOfMinute(0);
System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));//结果2016-09-07 06:30:00

4, 在每年的8月的7号的6:30处理一些东西

DateTime dt=new DateTime().withMonthOfYear(8).withDayOfMonth(7).withHourOfDay(6).withMinuteOfHour(30).withSecondOfMinute(0);
System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));//结果2016-08-07 06:30:00

5, 获取每个月的第一天和最后一天

DateTime dateTime=new DateTime();
System.out.println(dateTime.dayOfMonth().withMinimumValue().dayOfMonth().get());
System.out.println(dateTime.dayOfMonth().withMaximumValue().dayOfMonth().get());//结果130

6, 获取每天的零点的下一天零点

DateTime dt=new DateTime().withMillisOfDay(0).plusDays(1);
System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));

7, 获取日期差

DateTime start=new DateTime(2015,5,4,12,20);
        DateTime start=new DateTime(2015,5,4,12,20);
        DateTime end=new DateTime(2015,5,6,3,10);
        Period period=new Period(start,end);
        System.out.println("month:"+period.getMonths());
        System.out.println("days:"+period.getDays());
        System.out.println("hours:"+period.getHours());
        System.out.println("minutes:"+period.getMinutes());
        System.out.println("second:"+period.getSeconds());//结果month:0days:1hours:14minutes:50second:0

8, 单独获取天,小时,分钟,秒

DateTime start=new DateTime(2015,5,4,12,20);
        DateTime end  =new DateTime(2015,5,5,12,00);
        System.out.println(Days.daysBetween(start,end).getDays());
        System.out.println(Hours.hoursBetween(start,end).getHours());
        System.out.println(Minutes.minutesBetween(start,end).getMinutes());
        System.out.println(Seconds.secondsBetween(start,end));

9, 时间判断是否在某个范围以及获取时间差的毫秒

DateTime start=new DateTime(2015,5,4,12,20);
        DateTime end  =new DateTime(2015,5,5,12,00);
        Interval interval=new Interval(start,end);
        System.out.println(interval.contains(new DateTime(2015,5,5,11,00)));

        Duration duration=new Duration(start,end);
        System.out.println(duration.getStandardHours());

官网连接

http://www.joda.org/joda-time/userguide.html

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2016-09-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jackson0714

01.策略模式-上篇

35380
来自专栏码云1024

C#集合

30570
来自专栏菩提树下的杨过

(Head First 设计模式)学习笔记(1)

把书中开篇duck问题的代码翻译成了c#版: 概述: 某游戏公司要设计一款鸭子的游戏,里面有各种各样的鸭子,有些会飞,有些会叫,但都会游泳。而且不同种类的鸭子...

21190
来自专栏C#

C#的DataTable操作方法

1.将泛型集合类转换成DataTable(表中无数据时使用): public static DataTable NullListToDataTable(IL...

28170
来自专栏跟着阿笨一起玩NET

C#中汉字排序简单示例(拼音/笔划)

29810
来自专栏JadePeng的技术博客

使用贝叶斯做英文拼写检查(c#)

贝叶斯算法可以用来做拼写检查、文本分类、垃圾邮件过滤等工作,前面我们用贝叶斯做了文本分类,这次用它来做拼写检查,参考:How to Write a Spelli...

390130
来自专栏c#开发者

lightswitch 添加 TreeView 控件

代码片段 <UserControl xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presen...

32770
来自专栏cs

c sharp 的输入,输入,switch语句。

31150
来自专栏菩提树下的杨过

泛型List<T>使用示例

代码来源于"c#高级编程(第4版)",略作修改 using System; using System.Collections; using System.C...

19670
来自专栏技术之路

动态生成TreeView方法(二)

这次是用递归的方法实现 ,我想大家都知道怎么做吧,就不 多说了, 还是不建议用递归,数据量大了会映响速度,动态生成TreeView方法(一)是我比较喜欢的方法 ...

272100

扫码关注云+社区

领取腾讯云代金券