Ruby 中日期时间和时间的区别

2023-12-12

有什么区别DateTime and TimeRuby 中的类以及哪些因素会导致我选择其中之一?


较新版本的 Ruby(2.0+)在这两个类之间并没有真正的显着差异。由于历史原因,某些库会使用其中之一,但不一定需要关注新代码。选择一个以保持一致性可能是最好的,因此请尝试符合您的图书馆的期望。例如,ActiveRecord 更喜欢 DateTime。

在 Ruby 1.9 之前的版本和许多系统上,时间表示为 32 位有符号值,描述自 UTC 1970 年 1 月 1 日以来的秒数,这是 POSIX 标准的薄包装time_t值,并且有界:

Time.at(0x7FFFFFFF)
# => Mon Jan 18 22:14:07 -0500 2038
Time.at(-0x7FFFFFFF)
# => Fri Dec 13 15:45:53 -0500 1901

较新版本的 Ruby 能够处理更大的值而不会产生错误。

DateTime 是一种基于日历的方法,其中年、月、日、小时、分钟和秒单独存储。这是一个 Ruby on Rails 构造,用作 SQL 标准 DATETIME 字段的包装器。它们包含任意日期,并且可以表示几乎任何时间点,因为表达范围通常非常大。

DateTime.new
# => Mon, 01 Jan -4712 00:00:00 +0000

因此,令人放心的是 DateTime 可以处理亚里士多德的博客文章。

在选择其中之一时,差异现在有些主观。从历史上看,DateTime 提供了更好的选项来以日历方式操作它,但其中许多方法也已移植到 Time,至少在 Rails 环境中是这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 中日期时间和时间的区别 的相关文章

  • 为什么每个方法需要将其循环的值分配给变量?

    在 Rails 上工作 发现我对 Rails 的理解缺乏知识each method 不知道为什么each方法需要变量 message h2 h2 不确定为什么每个方法都需要变量 message 事实并非如此require它 你完全可以忽略它
  • 在Ruby中从csv文件中获取第二行[重复]

    这个问题在这里已经有答案了 actual row File open file name 0 r first row data CSV foreach actual row do row first row data lt lt row 1
  • << 和 += 有什么区别?

    我一直在尝试使用数组 发现自己在理解以下代码时遇到了困难 first array second array third array I initialized 3 empty arrays third array lt lt 1 2 3 4
  • proc函数相对于方法有什么优点

    我正在解决一些问题欧拉计划 http projecteuler net 我提到我总是将短方法包装在 proc 函数中 我问自己 Why 答案是 我不知道 也许是因为它短 那么proc函数相对于普通方法除了短之外还有什么优点呢 Proc is
  • 将 R 与 Rsruby 集成

    我想知道是否有人有将 R 集成到 Rails 中的经验 特别是在 heroku 上 我熟悉 rsruby gem 它是 ruby 与 R 事实上的 也许是唯一的 绑定 但是有关将 R 与 Rails 集成的文档即使不是不存在 也是很少的 比
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • 下载前获取文件大小并计算已下载的文件大小 (http+ruby)

    谁能帮我 get the 之前的文件大小我开始下载 显示多少 已下载 require net http require uri url http www onalllevels com 2009 12 02TheYangShow Squid
  • 该块如何用于整数倍方法?

    我不明白如何n times该行在下面给出的 ruby 代码中工作 特别是逗号的含义以及如何new变量已更新 def fib n raise fib not defined for negative numbers if n lt 0 new
  • 如何将可求和指标压缩为 ruby​​ 表中的唯一标识符

    我正在尝试将可求和指标压缩为 ruby 表中的唯一标识符 我有下表 id1 123 id2 234 id1 345 压缩指标最有效的方法是什么 使其看起来像这样 id1 468 id2 234 我认为其他回答者想太多了 您只需一次操作即可完
  • 有没有一种好方法来计算 ruby​​ 中范围元素的总和

    计算范围总和的好方法是什么 Input 4 10 Output 4 5 6 7 8 9 10 49 您可以使用EnumerableRange 对象上的方法 在本例中使用Enumerable inject 4 10 inject gt 49
  • 有没有办法让 Ruby 临时文件永久存在?

    如果我通过创建了一个临时文件Tempfile 除了将其复制到另一个文件之外 还有什么方法可以使其 永久 吗 我想避免它在关联时被删除Tempfile实例被垃圾收集或进程被终止 在相关的一点上 有没有办法利用Tempfile机制 或使用类似的
  • 在 Rails 5.1 及更高版本中,使用什么来代替“render :text”(和“render Nothing: true”)?

    轨道 5 1 其中就有老朋友render text 当你需要渲染的时候它非常有用some文本 但不想要视图模板的开销 例子 render text ok render text t business rules project access
  • 使用 google-drive-ruby gem 在 google 云端硬盘中创建文件夹

    我知道这里提出了类似的问题 但是我仍然无法完成这项工作 因为我的情况有点不同 我希望能够使用以下命令在谷歌驱动器中创建一个文件夹谷歌驱动器红宝石宝石 https github com gimite google drive ruby 根据谷
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 开始使用 Ruby、Watir 和 Ruby Mine?

    我想对电子商务网站进行自动化测试 我安装了 Ruby Watir Gems 和 Ruby Mine 虽然我尝试过 RubyMine 但我不知道如何开始编写一个简单的脚本 如何开始使用 RubyMine 编写简单的脚本 我创建了一个项目 你下
  • 需要 gem 是否会加载所有内容,包括我不使用的东西?

    Assume x是一颗宝石 包含两者Hello and Goodbye类 如果我写一个程序require x 但仅使用Hello班级 是个Goodbye类也加载了吗 您包含脚本或文件 而不是 gem With require x 你加载文件
  • Boost:如何从 Epoch 打印/转换 posix_time::ptime(以毫秒为单位)?

    我在转换时遇到问题posix time ptime到由 表示的时间戳time t or posix time milliseconds 或任何其他可以轻松打印的适当类型 来自 Epoch 我实际上只需要打印由posix time ptime
  • 为什么安装 Ruby 1.9.3 时会出现 404 错误?

    我最近擦除了我的计算机 操作系统 Mac OS X 10 6 8 并重新安装了所有开发工具 我再次安装了RVM 但是 它不允许我安装 Ruby 1 9 3 到目前为止我已经尝试过 rvm install 1 9 3 rvm install
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些

随机推荐

  • 测试 jQuery 可选择 capybara 或 selenium (ctrl + click)

    我正在使用 jQuery Selectable 来管理日历 这个功能很好用 只需进入测试自动化即可 我需要从日历网格中选择多个不连续的日期 我尝试了一些方法 但并不真正期望它们能起作用 date 2013 05 02 page execut
  • Verilog HDL ?操作员

    什么是 用 Verilog 做什么 例如 以下命令是什么意思 input first din input 7 0 din output 127 0 parity reg 127 0 parity wire 7 0 feedback assi
  • 排除 $lookup 聚合中的字段

    我正在查询 3 个要排除的集合 id输出中随处可见 我的输出是 id ObjectId 5b6aed5f9bcdb5d4ae64aef5 userID 1 skills id ObjectId 5b766b5f1365a4940bb6050
  • 产品设置中的自定义复选框,选中时显示自定义字段

    我目前正在使用 WooCommerce 开发 WordPress 电子商务网站 我在产品编辑页面常规设置中创建了一个自定义复选框 我还有一个代码片段 用于在单个产品页面中显示自定义文本字段 现在 我希望当为产品选中此自定义复选框 在其设置中
  • RealityKit – 如何以编程方式访问场景中的属性?

    我一直通过从库下载来使用现实作曲家和框架实体 我想访问对象的属性 以编程方式提供要在框架中显示的图像 在这里您可以看到有一个配置 我可以从我的画廊导入照片 但我想以编程方式完成它 也就是说 我想访问框架对象的该属性并以编程方式提供图像 但我
  • Spark-HBase - GCP模板(2/3) - json4s的版本问题?

    我正在尝试在 GCP 上下文中测试 Spark HBase 连接器并尝试遵循1 它要求使用 Maven 我尝试过 Maven 3 6 3 为 Spark 2 4 本地打包连接器 2 并在提交作业时出现以下错误Dataproc 完成 3 之后
  • PrimeFaces Piechart:工具提示未在我的本地环境中显示

    我重新创建了 primefaces 展示中显示的示例页面 http www primefaces org showcase ui chart pie xhtml 饼图成功显示 我可以调整饼图模型以获取可用的 setter 和 getter
  • 从 dynamodb 流读取数据

    我为我的发电机表设置了流 我正在按照文档中的示例程序从流中读取数据 http docs aws amazon com amazondynamodb latest developerguide Streams LowLevel Walkthr
  • 快照视频作为预览

    我在从视频中获取快照用作标题图像时遇到问题 下面有我当前使用的代码 但我得到的输出只是一个黑色图像 在控制台中我没有遇到任何问题 我将视频上传到我使用的文件服务器后执行此操作 let video videoPath find newVide
  • symfony 的 require_once

    我现在正在使用 php Symfony2 框架进行制作 并且我有以下代码 require once one file php require once another file php 等等 问题是 如何将这些不舒服的require语句 S
  • CSS 文本填充差异 Firefox 与 Chrome 等

    如果有人可以在以下方面提供帮助 我将不胜感激 因为我花了整个晚上在这个问题上没有结果 我有一个网站 我想在每篇文章之后修改标签外观 问题在于 firefox 版本 14 0 1 为文本提供了较小的高度 总 高度为 15px icnludin
  • 访问作为泛型类型传递的类属性

    我有两个类 它们被传递给序列化方法 我想在序列化方法中访问这些类的两个属性 问题是序列化方法参数作为泛型类型传递 我不知道在这种情况下如何访问传递的类的属性 下面的例子 public class MyClass1 public string
  • 在另一个框架的上下文中运行 JQuery

    我正在合作的客户有一个像这样的框架集 当发生某个操作时 我需要我的框架 当前隐藏的重要框架 主要接管页面并阻止与其他框架的任何交互 我计划使用 jquery block UI 插件来阻止交互 问题是我实际上无法更改 foo ht
  • 如何将结果写入JTextArea

    我有问题 如何将结果 数据库选择写入 JTextArea 我的 JButton 的方法是 public void actionPerformed ActionEvent evt try Class forName com mysql jdb
  • 使用 Graph API 获取所有 Facebook 好友

    我尝试获取 me friends 返回的 JSON 包含的朋友比我的 Facebook 页面显示的少 3 个 事实证明 对于这 3 个 GET id 返回 false 而不是有效的 JSON 对象 尽管我没有看到它们有什么特别之处 只是它们
  • Mongodb find查询返回空数组

    我试图通过代码 id 获取产品 但结果是空数组 我的控制器 export const getProductByPLU async req res gt const searchPLU req query try const product
  • 自动滚动jetpack compose中后面的项目

    我有一个3 Column In 1st Column的组件是2nd and 3rd Column In 2nd Column里面有很多组件 最后3rd Column我有一些项目 但我停留在屏幕底部 我已经在这个的帮助下完成了answer 在
  • 与 PhP 一起使用的 AMP 表单

    我正在尝试使用 AMP 设置带有联系表单的页面 该表单只有 4 个字段 Name Email 我们能帮你什么吗 电话号码 然后我希望将该信息发送到我的电子邮件地址 这是我在 HTML 中的信息 h4 How can we help h4
  • scala - 泛型中的任何与下划线

    Scala 中以下泛型定义有何不同 class Foo T lt List and class Bar T lt List Any 我的直觉告诉我它们大致相同 但后者更明确 我发现前者可以编译但后者不能编译的情况 但无法指出确切的差异 Th
  • Ruby 中日期时间和时间的区别

    有什么区别DateTime and TimeRuby 中的类以及哪些因素会导致我选择其中之一 较新版本的 Ruby 2 0 在这两个类之间并没有真正的显着差异 由于历史原因 某些库会使用其中之一 但不一定需要关注新代码 选择一个以保持一致性