`
kanpiaoxue
  • 浏览: 1781884 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DateTime计算时间差和格式化

 
阅读更多
import org.apache.commons.lang3.time.DurationFormatUtils;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.Hours;
import org.joda.time.Interval;
import org.joda.time.Minutes;
import org.joda.time.Period;
import org.joda.time.Seconds;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

/**
 * @ClassName: Test
 * @author kanpiaoxue
 * @version 1.0
 * @CreateTime: 2019-04-28 15:14:51
 */
public class Test {

    /**
     *
     * @param args
     * @author kanpiaoxue
     * @CreateTime: 2019-04-28 15:14:51
     */
    public static void main(String[] args) {
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        DateTime start = DateTime.parse("2010-06-29 01:20:01", formatter);
        DateTime end = DateTime.parse("2010-06-30 02:22:23", formatter);

        System.out.println(String.format("days:%s", Days.daysBetween(start, end).getDays()));
        System.out.println(String.format("hours:%s", Hours.hoursBetween(start, end).getHours()));
        System.out.println(String.format("minutes:%s", Minutes.minutesBetween(start, end).getMinutes()));
        System.out.println(String.format("seconds:%s", Seconds.secondsBetween(start, end).getSeconds()));

        long duration = end.getMillis() - start.getMillis();
        // org.apache.commons.lang3.time.DurationFormatUtils
        String consumeText = DurationFormatUtils.formatDuration(duration, "d天H小时m分钟s秒");
        System.out.println(consumeText);

        Interval interval = new Interval(start.getMillis(), end.getMillis());
        Period p = interval.toPeriod();
        System.out.println(
                String.format("%s天%s小时%s分钟%s秒", p.getDays(), p.getHours(), p.getMinutes(), p.getSeconds()));
    }

}

days:1

hours:25

minutes:1502

seconds:90142

1天1小时2分钟22秒

1天1小时2分钟22秒

 

分享到:
评论

相关推荐

    c# DateTime常用操作实例(datetime计算时间差)

    DateTime是C#编程语言中用于...总结来说,C#中的DateTime类提供了广泛的功能,包括获取当前时间、格式化输出、日期时间算术运算以及计算时间差。通过熟练掌握这些操作,开发者可以轻松地处理各种日期和时间相关的任务。

    php将时间格式化的类.zip

    类库可能提供构造函数接收初始时间,然后提供各种方法如`ago()`、`agoInWords()`等,方便调用者获取格式化后的时间差。 8. **错误处理和兼容性**:考虑到PHP的不同版本和可能遇到的异常情况,类库可能内置了错误...

    计算两个时间相差年月日时分秒.zip

    计算两个`DateTime`对象之间的时间差,可以使用`-`运算符或者`TimeSpan`结构。例如: ```csharp DateTime startDate = new DateTime(2020, 1, 1); DateTime endDate = new DateTime(2022, 5, 31); TimeSpan ...

    DateTime格式大全

    - 计算用户在线时长: 可以使用`AddMinutes()`、`AddHours()`等方法计算从登录到退出的时间差。 - 比较不同用户的登录时间: 利用`CompareTo()`方法可以快速比较两个日期时间的先后顺序。 通过以上介绍,我们可以...

    Python datetime 格式化 明天,昨天实例

    总的来说,Python的`datetime`模块提供了丰富的功能来处理日期和时间,包括获取当前日期时间、格式化输出、以及计算日期差。无论是简单的日常操作还是复杂的日期计算,`datetime`都能提供强大的支持。了解并熟练掌握...

    DateTime.Now函数

    但在需要计算或比较时间差的时候,推荐使用DateTimeOffset,因为它包含了时区信息,可以提供更准确的比较。 总结一下,DateTime.Now是.NET中获取和处理当前系统时间的关键方法,结合其相关的格式化和操作方法,能够...

    python计算时间差源码

    这个函数接受两个格式化的日期时间字符串,然后返回它们之间的时间差。输出格式化为天数、小时数、分钟数和秒数,便于理解。 总的来说,Python的`datetime`模块提供了丰富的功能来处理时间差的计算,无论是简单的两...

    求助datetime

    在编程领域,`datetime` 是一个非常重要的概念,...如果遇到问题,可以尝试使用`strptime`解析字符串,`strftime`格式化输出,或者利用`timedelta`进行时间差计算。在调试过程中,打印出中间结果,有助于找出问题所在。

    C#对DateTime的总结和使用

    `ToString()`方法可以接受格式化字符串参数,如`"yyyy-MM-dd HH:mm:ss"`,以自定义输出的日期和时间格式: ```csharp string formattedTime = currentTime.ToString("yyyy-MM-dd HH:mm:ss"); ``` 接下来,`DateTime...

    time和datetime两种模块的总结

    ### time和datetime两种模块的总结 #### 一、前言 ...而`datetime`模块则提供了更为丰富的功能,适合进行复杂的日期时间计算和格式化工作。在实际开发过程中,根据具体需求选择合适的模块至关重要。

    caculate2datetime.zip

    它可以处理各种日期和时间格式,方便在程序中进行日期和时间的计算、比较和格式化。 在描述中提到的代码示例可能包含了以下关键部分: 1. **创建QDateTime对象**:首先,你需要创建`QDateTime`对象,这可以通过...

    python基础——time模块和datetime模块.pdf

    它们提供了丰富的功能来处理时间和日期,包括获取当前时间、格式化时间、时间计算等。 一、time 模块 time 模块是 Python 的一个内置模块,它提供了多种方式来处理时间。time 模块的主要功能是提供 Unix Timestamp...

    python的datetime库实现的秒表程序样例源代码

    比如,我们可以使用datetime类来表示一个特定的日期和时间,然后进行加减运算、格式化输出等操作。另外,还可以使用timedelta类来表示时间间隔,进行日期和时间的加减运算。在秒表程序中,我们可以利用datetime库来...

    时间差计算器

    再者,如果时间差计算器还具备格式化输出的功能,那么它将能够根据用户的需求,将时间差以不同的格式展示,比如“XX天XX小时XX分钟”,或者以总计的秒数显示。这种灵活性使得计算器在多种场景下都能派上用场。 此外...

    Asp.net(C#)中的日期(DateTime.Now)处理函数

    这个值是从系统时钟获取的,可以被用于各种场景,如记录操作的时间戳、计算两个事件之间的时间差等。 ### 二、日期时间格式化 C#提供了丰富的字符串格式化选项,用于定制日期时间的显示方式。以下是一些常见的格式...

    QT案例时间模块DateTime.zip

    5. **时间间隔**:`QDateTime`可以与`QTimeSpan`或`QDateSpan`进行减法运算,得到时间间隔,这对于计算两个事件之间的时间差非常有用。 6. **时间操作**:你可以增加或减少`QDateTime`对象的秒数、分钟、小时、天、...

    C# 中 DateTime加减问题 免费下载

    1. **计算时间差**:通过`Convert.ToDateTime`方法将字符串或某个属性(假设`c.Order_Service_EndTime`是某个实体的属性)转换为`DateTime`类型,并与当前时间(`DateTime.Now`)相减,得到一个`TimeSpan`对象`span`。...

    C#中两时间相减(return x天x小时x分x秒)

    总的来说,C#提供了强大的日期和时间处理能力,通过DateTime和TimeSpan,我们可以轻松地计算和格式化时间差。这个过程在各种应用场景中都非常实用,比如倒计时、事件日程管理或者系统监控等。理解并熟练掌握这些知识...

    DateTime类相关操作

    本文详细介绍了在 C# 中使用 `DateTime` 类进行日期和时间相关操作的方法,包括获取某月的最后一天以及计算两个日期之间的时间差。此外,还介绍了 `TimeSpan` 类的一些基本使用方法以及 SQL 中的 `DATEDIFF` 函数,...

Global site tag (gtag.js) - Google Analytics