什么语言的日期,时间和日历操作真的很好?

9 time datetime language-features date

这可能是一个问题太多了,但有没有任何语言可以表达时间和日期操作的非常好的工作?我马上就会批准写一个真正伟大的时间库真的很难.那就是说,有没有广泛的语言有一个?基本上,我想要像现代正则表达式库那样全面地处理时间和日期.到目前为止,我在Python和Java中看到的所有内容都省略了一个或多个非常重要的部分,或者使得太多的事情变得困难.

至少这应该是直观的:

  • 查找两个给定日期之间的天数,两个给定分钟周期之间的分钟数等.
  • 从时间戳添加和减去间隔
  • 允许在时区之间进行简单转换,并按区域自动更改夏令时更改(假设有可用的区域设置的准确支持数据库)
  • 获得给定时间戳落入的时间段,给定时间段粒度("这个日期是哪个日历日?")
  • 支持非常通用的字符串到目前的转换(给定模式)

此外,如果有一个Java风格的Calendar/GregorianCalendar设置,如果我需要滚动自己的希伯来语,巴比伦语,Tolkien或MartianCalendar,一般的Calendar类应该适应子类.(例如,Java Calendars使这一点变得毫无意义.)

我在这里完全与语言无关.如果事情在计算模糊的东西,比如"2002年和下一个情人节之间有多少分钟?",那就没关系了.

Eug*_*ota 7

如何.NET的日期时间?(您可以在框架内选择您的语言)


Sha*_*obe 5

您是否正在寻找类似 PHP strtotime的东西?这将为您提供几乎所有您可以扔给它的东西的unix时间戳。

来自 php 站点:

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
Run Code Online (Sandbox Code Playgroud)

.NET 的日期类需要更多神秘的DateTimeFormatInfo等操作来解析日期字符串,这些字符串不像 strtotime 可以处理的那么复杂。

从 PHP 5 开始,PHP 提供了 DateTime 类和 DateTimeZone 类,但它们的文档都很少。我仍然主要使用 unix 时间戳以及datetimestrtotime函数,因为我还没有完全掌握新对象。

以下链接试图更好地充实 DateTime 和 DateTimeZone :


J D*_*nal 2

为此我喜欢 .NET。它通过 DateTime 和 Timespan 类提供了良好的日期/时间操作。然而,大多数日期/时间内容在任何语言中都相当简单,这将为您提供一个可供使用的 unix 时间戳。