strptimestrftime有什么区别?我看到strptimeDateTime类中的方法,而strftimeTime类中的方法。

  • TimeDateTime有什么区别,除了核心方法不同之外? Ruby文档中对Time类的解释很有帮助,但 DateTime 的解释只是说“datetime”。还有 Date 类,它说它提供DateDateTime。帮助我理解这一点。
  • 我看到了strptime,我想将其发音为“strip time”,但这没有任何意义。有一个好的助记符设备吗?
  • 无论如何,strptimestrftime是什么意思?
  • 您如何记起哪个?
  • 最佳答案

    TimeDateTime之间的差异与实现有关。大量的DateTime功能来自Rails世界,并且是一天中任意时间的日期。它更多是基于日历的系统。 Time以自UTC 1970年1月1日以来的秒数进行度量,并且与时区无关。在某些系统上,该值限制为1901年至2038年之间的值,这是传统上以32位有符号整数存储此值的限制,但较新版本的Ruby可以使用64位值或BigNum处理更大的范围按要求。

    简而言之,DateTime是您从Rails的数据库中获得的,其中时间是Ruby传统上使用的时间。如果您正在使用日期很重要的值,并且想知道月底或提前六周的日期,请使用DateTime。如果您只是在测量经过的时间,而不在乎,请使用时间。如有必要,它们之间很容易转换。

    另一方面,Date只是一个日历日期,没有任何关联的时间。您可能想在与时间无关的地方使用它们。
    strptime代表“解析时间”,而strftime代表“格式化时间”。也就是说,strptimestrftime相反,尽管它们使用相同的格式规范。我很少见过使用strptime,因为DateTime.parse通常很擅长了解发生的事情,但是如果您真的需要拼写出来,请务必使用旧式解析器。

    10-02 05:07