轨道:distance_of_time_NOT_in_words

2024-02-12

As in, distance_of_time(Time.now, Time.tomorrow).days = 1或类似的规定?如果没有,实现这一目标的好方法是什么?我知道有“from_now”,但为什么没有 from_whenever 呢?


我不知道内置的通用解决方案,但如果您只需要比较几天,您可以这样做

d = DateTime.now
d2 = DateTime.now.advance(:days => 1)
days_diff = (d2-d).to_i  # i.e., 1

Using Time你可以在几秒钟内做同样的事情。从这些秒中,您可以构建周、天、小时和分钟差异的合理模型:

diff = (Time.now - Time.now.advance(:days => 38, :hours=>2, :minutes => 23)).abs
day_diff = diff % 1.week.seconds
weeks = (diff - day_diff) / 1.week.seconds
hour_diff = day_diff % 1.day.seconds
days = (day_diff - hour_diff) / 1.day.seconds
minute_diff = hour_diff % 1.hour.seconds
hours = (hour_diff - minute_diff) / 1.hour.seconds
second_diff = minute_diff % 1.minute.second
minutes = (minute_diff - second_diff) / 1.minute.seconds
fractions = second_diff % 1
seconds = (second_diff - fractions)

s=Struct.new(:weeks, :days, :hours, :minutes, :seconds)
s.new(weeks, days, hours, minutes, seconds)
s.weeks # 5
s.days # 2
s.minutes # 23
s.seconds # 0

(或者类似的东西,我还没有真正测试过代码,但你明白了 - 我希望)。

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

轨道:distance_of_time_NOT_in_words 的相关文章

随机推荐

  • 使用 Angular 下载 .xls 文件:JSON 中 JSON.parse 位置 0 处出现意外标记 P ()

    我有以下服务器方法用于返回byte for an xls文档存储在Azure Blob Storage FunctionName ReadBatchFile public async static Task
  • 如何显示“向下滚动!”当且仅当内容在纯 CSS 中溢出?

    我能找到的最接近的 对于纯CSS 是这样的 https lea verou me 2012 04 background attachment local https lea verou me 2012 04 background attac
  • 快速排序 - 哪个子部分应该首先排序?

    我正在阅读一些文本 其中声称有关两个递归快速排序调用的顺序 首先调用较小的子问题很重要 这与尾递归结合使用可确保堆栈深度为 log n 我完全不确定这意味着什么 为什么我应该首先对较小的子数组调用快速排序 将快速排序视为隐式二叉树 枢轴是根
  • Node JS 永久加载 dotenv

    我想问是否有人知道如何永远运行可以加载 env 文件 目前如果我们运行forever start app js process env foo 变得未定义 TLDR 您需要添加 workingDir您的 cronjob 行的路径 forev
  • 验证 URL

    目前 我正在使用 Angular 5 我尝试验证 URL 如下所示 HTML div class form group col sm 6 div
  • 防止在 Sympy 中计算乘法表达式

    我正在生成一个包含两个分数的表达式 并且想用 LaTeX 漂亮地打印整个表达式 然后放在工作表上 例如 形式为 5 7 3 4 但是 当我执行以下操作时 fract1 sympy sympify Fraction 5 7 fract2 sy
  • git 恢复后,Heroku 上的 SSH 指纹未授权

    几周前 我不得不从 github 恢复我的主分支 从那以后我一直收到一条错误 指出 您的指纹密钥 无权访问我的应用程序 我查看了此问题的先前答案 并尝试删除旧密钥对 创建一个新密钥对并上传 我使用了以下帖子 但仍然遇到相同的错误 您的带有指
  • 减少 Git 存储库大小

    我尝试寻找有关减少存储库大小的好教程 但没有找到 如何减小存储库大小 大约 10 MB 但是Heroku https en wikipedia org wiki Heroku只允许 50 MB 而且我还没有完成应用程序的开发 我将常见的嫌疑
  • 流畅的映射 - 不同程序集中的实体和类映射

    当使用流畅配置来指定流畅映射时 如下所示 Mappings m gt m FluentMappings AddFromAssembly typeof UserMapping Assembly 目前我收到 NHibernate Mapping
  • 为 Scala 特征中的方法指定具体类型

    我想在 Scala 特征中定义一个方法 其中该方法的参数和返回类型对应于扩展该特征的同一个具体类 我尝试过类似以下的方法 trait A def foo obj this type this type final case class B
  • 如何处理 OO 应用程序中的横切关注点?使用单例?依赖注入?什么?

    假设我目前正在设计一个应用程序 需要使用全局计时系统 这是一个跨领域的问题 我需要从应用程序中的基本上任何位置访问来自该全球计时系统的数据 并且我看不到 应用程序的这一部分将需要它 而其他部分则不需要 我的问题是 我应该将其设计为一种环境上
  • UITableView 当更改影响出队后单元格高度的约束时,最终会导致约束损坏

    此代码块试图触及问题的核心 如果在使单元出队后 通过configure 约束发生变化 单元格高度也发生变化 然后您最终会收到破坏约束的警告 Unable to simultaneously satisfy constraints 但是 它显
  • HTML div 和 span 元素有什么区别?

    我想询问一些简单的例子来展示其用途 div and span 我见过它们都用来标记页面的一部分id or class 但我有兴趣知道是否有时会优先选择其中一个 div is a 块元素 https en wikipedia org wiki
  • 在自己的网站上托管 .apk 文件

    我需要托管我的 apk文件存放在 Android 市场或任何其他应用程序商店以外的一个公共网站上 在android市场中 注册到市场后下载 apk将自动安装在手机上 无需任何手动操作 所以我愿意创建一个 URL 并托管我的 apk文件到其中
  • C++ 中 const_cast 的行为 [重复]

    这个问题在这里已经有答案了 这是我的问题 问题在评论中 const int a 5 const cast
  • 强制 symbolicatecrash 使用特定的 .app 和 .dSYM 文件?

    我有一个来自我的应用程序的临时版本的 crash 日志 symbolicatecrash 拒绝对其进行符号化 我已经应用 patch 删除 die 命令 https github com chrispix symbolicatecrash
  • TensorFlow 估计器的类数没有变化

    我尝试对 MNIST 数据集使用张量流估计器 由于某种原因它一直说我的n classes即使它是 10 也被设置为 1 import tensorflow as tf import numpy as np from tensorflow e
  • 是否可以在运行时创建绑定重定向?

    应用程序启动后 是否有办法创建适用于所有未来程序集加载的绑定重定向 抱歉回复旧帖子 但这个博客对这个问题有更好的答案 希望有人觉得它有用 我的用例 从经典 ASP 应用程序调用的 COM 互操作程序集执行绑定重定向 http blog sl
  • 将自定义函数应用于图像中每个像素的快速方法

    我正在寻找一种更快的方法来将自定义函数应用于图像 我用它来删除蓝色背景 我有一个函数可以计算每个像素与背景中大约蓝色的距离 带有循环的原始代码如下所示 def dist to blue pix rdist 76 pix 0 gdist 15
  • 轨道:distance_of_time_NOT_in_words

    As in distance of time Time now Time tomorrow days 1或类似的规定 如果没有 实现这一目标的好方法是什么 我知道有 from now 但为什么没有 from whenever 呢 我不知道内