Datetime 有没有一种方法可以存储和操作一段时间,并将月长、闰年等因素考虑在内?

Datetime 有没有一种方法可以存储和操作一段时间,并将月长、闰年等因素考虑在内?,datetime,timestamp,standards,string-formatting,timespan,Datetime,Timestamp,Standards,String Formatting,Timespan,我正要自己写这篇文章,但我知道这是必须存在的,我只是设法避免所有的谷歌关键词,这将导致我的权利 我会寻找类似DDDMMMYYY的东西,其中D,M,Y是天数、月数和年数。所以00103000表示三个月零一天的跨度,或者00000001表示一年的跨度。理想情况下,这种格式也会有一种标准的应用方式,可以考虑时间跨度计算的所有缺陷,如一个月内天数的变化、闰年等 我不是在寻找一种方法来计算两个已知时间戳之间的时间跨度,正如在这里被问到的,我是在寻找一种类似于我可以存储的特定字符串格式的东西,它将指示用于从

我正要自己写这篇文章,但我知道这是必须存在的,我只是设法避免所有的谷歌关键词,这将导致我的权利

我会寻找类似DDDMMMYYY的东西,其中D,M,Y是天数、月数和年数。所以00103000表示三个月零一天的跨度,或者00000001表示一年的跨度。理想情况下,这种格式也会有一种标准的应用方式,可以考虑时间跨度计算的所有缺陷,如一个月内天数的变化、闰年等

我不是在寻找一种方法来计算两个已知时间戳之间的时间跨度,正如在这里被问到的,我是在寻找一种类似于我可以存储的特定字符串格式的东西,它将指示用于从已知日期确定第二个未知日期的时间跨度


例如,使用我上面虚构的格式:如果我说计算从2009年9月15日算起的00103000日期将返回2009年12月16日,即9月15日后的三个月零一天

最简单、最常见的表示方式是数字:时间跨度中的秒数,根据您的需要可以是小数,也可以不是小数。许多时间库已经存在,所以这使得时间的加减变得微不足道。唯一值得关注的主要问题是溢出,例如…

最简单和最常见的表示形式是数字:时间跨度中的秒数,根据您的需要可能是小数,也可能不是小数。许多时间库已经存在,所以这使得时间的加减变得微不足道。唯一值得关注的主要问题是溢出,例如…

我建议查看持续时间的格式。它不仅易于解析和应用于给定的日期,而且是一个众所周知的标准,拥有大量可用资源


从两个时间点确定持续时间有点棘手,但这只是因为没有应用程序的输入,不清楚3月1日到6月1日是3个月还是92天。尽管如此,格式可以同样好地表示,例如,0.25年。

我建议查看持续时间格式。它不仅易于解析和应用于给定的日期,而且是一个众所周知的标准,拥有大量可用资源



从两个时间点确定持续时间有点棘手,但这只是因为没有应用程序的输入,不清楚3月1日到6月1日是3个月还是92天。尽管如此,该格式可以同样好地表示,例如,0.25年。

当我自己使用C.net和MS SQL 2008进行开发时,我对这种格式的任何实现都感兴趣。2月29日之后的一年是什么?离结果还有一年吗?当我自己使用C.net和MS SQL 2008进行开发时,我对这种格式的任何实现都感兴趣。2月29日之后的一年是什么?结果出来的前一年是什么?是的,这对于指示确定的秒数来说是很好的,但我会寻找一些能够处理人类月和年的构造,并考虑可变的月长和闰年的东西。只是澄清一下。您可以用秒表示一个月甚至十年的持续时间。用秒来表示持续时间的好处在于,你可以随心所欲地精确或不精确。是的,这对于指示固定的秒数是很好的,但我会寻找能够处理人类月和年构造的东西,并考虑可变的月长和闰年。只是澄清一下。您可以用秒表示一个月甚至十年的持续时间。用秒表示持续时间的好处在于,你可以随心所欲地精确或不精确。是的!ISO8061的持续时间正是我想要的,有很多解析方法可以处理月份和闰年问题。谢谢。哇,很高兴知道。我知道ISO 8601中表示精确时间,但不知道它也包括时间间隔。也就是说。。。在内存中,您可能仍然希望将持续时间转换为秒。我同意在有意义时保留秒。在我最近的案例中,持续时间用于报告上个月的事件,因此我不能仅以秒为单位保留持续时间,因为上个月的秒数取决于用户执行报告的时间。这也正是我的困境。用户希望看到去年上个月,它是如何被计算出来的。是的!ISO8061的持续时间正是我想要的,有很多解析方法可以处理月份和闰年问题。谢谢。哇,很高兴知道。我知道在ISO8601中表示精确的时间,但我知道
我不知道它也涵盖了间歇时间,也就是说。。。在内存中,您可能仍然希望将持续时间转换为秒。我同意在有意义时保留秒。在我最近的案例中,持续时间用于报告上个月的事件,因此我不能仅以秒为单位保留持续时间,因为上个月的秒数取决于用户执行报告的时间。这也正是我的困境。用户希望看到去年上个月,它是如何被计算出来的。