使用 Groovy 计算两个日期之间的月份差异

2023-12-06

我需要计算两个日期之间的月份差异。

start = new Date(112, 4, 30) // Wed May 30 00:00:00 CEST 2012
end = new Date(111, 9, 11)   // Tue Oct 11 00:00:00 CEST 2011

assert 8 == monthsBetween(start, end)

Using 乔达时间通过这样的事情来实现这一点真的很容易:

months = Months.monthsBetween(start, end).getMonths()

我怎样才能以 Groovy 的方式实现这一点,而不使用其他库?


monthBetween = (start[Calendar.MONTH] - end[Calendar.MONTH]) + 1
yearsBetween = start[Calendar.YEAR] - end[Calendar.YEAR]
months = monthBetween + (yearsBetween * 12)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Groovy 计算两个日期之间的月份差异 的相关文章

随机推荐

  • Python 函数仅返回第一个值而不是数据帧

    我构建了一个函数 将 5 个投资组合的收益附加到一个数据帧中 我想将其返回到一个变量 当我在函数中逐行运行命令 一种调试 时 我最终得到的变量 folioReturn 这是我希望脚本返回的变量 具有正确数量的值 例如 5 但是如果我调用该函
  • 如何修复“使用内部联接的不明确列名错误”错误

    我正在使用两个表从数据库中进行查询 并收到问题标题中描述的错误 在某些情况下 我需要查询的字段在表 A 中 但其他字段在表 B 中 我动态创建要搜索的列 可以在表 A 或表 B 中 代码中的 WHERE 子句是导致错误 是否有动态方法来解决
  • @font-face 不适用于斜体/粗体字体

    我正在使用一个自动生成CSS的工具 它生成以下 font face标签和相应的段落Style font face font family FF Garamond Italic src url fonts 16309 GARAIT 1 ttf
  • AS3 - TextField:嵌入字体

    此代码不会将文本呈现到屏幕上 改变 drawText embedFonts false 渲染文本 但字体大小或颜色不会修改 package import flash display Sprite import flash text Text
  • 在 LWJGL 中更改 OpenGL 版本

    所以我一直想知道如何更改 lwjgl 中的 openGL 版本 我知道我可以使用 PixelFormat 和 ContextAttribs 更改版本 正如 wiki 上所说http lwjgl org wiki index php titl
  • C++ - 在模板类外部但在标头中定义成员函数

    我定义了一个带有一个成员函数的简单类模板 它是在类外部定义的 并具有附加 显式 专门化 也在类外部定义 一切都在一个头文件中 如果您在多个翻译单元中包含此标头 则会因单定义规则而出现链接器错误 Header with a template
  • 从 Objective-C 代码调用 javascript

    我发现了很多从javascript调用objective c代码的方法 但我想从objective c调用javascript代码 上次我从 Objective C 提交了 HTML FORM 现在我不想调用 JavaScript 方法 您
  • 防止浏览器加载拖放文件

    我正在向我的页面添加一个 html5 拖放上传器 当文件被放入上传区域时 一切都运行良好 但是 如果我不小心将文件放到上传区域之外 浏览器会加载本地文件 就像它是新页面一样 我怎样才能防止这种行为 Thanks 您可以向调用的窗口添加事件侦
  • “strftime”不是可识别的内置函数名称

    我正在使用 Microsoft SQL Database Management Studio 它不允许我使用 strftime 函数来运行查询 我必须按月创建一个表格 其中包含每个月的新用户和退订者 这就是我本质上造成错误的原因 SELEC
  • SQL查询,仅当列不为空时才选择,否则不选择

    这就是我想做的 SELECT a b c FROM tbl WHERE a IS NOT NULL OR b IS NOT NULL OR c IS NOT NULL WHERE id 如果 a 和 c 为空而 b 不是 我仍然收到此结果集
  • EL 支持重载方法吗?

    我升级了 Java EE Web 应用程序以使用较新的 PrimeFaces 版本 突然在 PrimeFaces commandlink 的操作属性中调用重载 bean 方法不再起作用 我尝试使用 JSF 默认命令链接来测试它 但这个也不起
  • Win32 分割器控件

    在 Win32 的所有不同控件中 有哪些基本的 轻的可用的 Splitter Splitcontainer 控件 意味着一两个 C C 文件max 我似乎无法在 Visual Studio 中显示的默认控件中找到任何内容 并且我在网上找到的
  • Android OpenGL ES 1.1 白盒纹理

    我遇到的问题是资源的纹理变成白色 这个问题似乎只发生在手机上 当然是 Droid X 但它在模拟器上运行得很好 我已经研究这个问题好几天了 并尝试了很多东西 纹理是 POT 范围从 8x8 到 128x128纹理位于 res drawabl
  • 如何更改ggboxplot中的x轴标签

    我有一个包含多个因素的数据框 我使用 ggboxplot 来获取一个箱形图 并对不同类别进行比较 我对 x 轴标签不满意 我尝试了不同的方法 但未能达到我的预期 用于创建绘图的代码是 df lt data frame country sam
  • 使用 python selenium 进行网页测试:执行速度非常慢

    我使用 Selenium 用 Python 编写了一个非常简单的网页测试 这里是代码 from selenium import webdriver import unittest from selenium webdriver common
  • 如何使用 facebook api 隐藏页面帖子

    我有这个代码 它来自这个链接https developers facebook com docs reference api page 请参阅 隐藏页面帖子 我没有任何错误 但我的问题是 这段代码不起作用 页面帖子仍未隐藏 下面是我的代码
  • Cosmos DB 固定 (10GB) 集合的分区键的用途

    在 Cosmos DB 文档中 我看到分配固定 10GB 集合意味着只会分配一个分区来保存集合中的文档 我的问题 如果我选择固定集合 如果我只有一个分区 为什么仍然提示我选择分区键 我的猜测是 单个分区指的是单个物理分区 但仍然可以在单个物
  • 使用 Appium 在真实 Android 设备上以隐身模式打开 Chrome

    我正在使用 Appium 在 Android 版 Chrome 上测试我的网站 我想为 Android 版 Chrome 添加一些选项 例如隐身模式和禁用缓存的可能性 我尝试使用以下示例代码 但它无法正常工作 Appium 能够在我的 An
  • 在 Cucumber around Hook (Ruby) 中多次调用 Block

    我正在尝试运行一个场景数 30 次 以获得一个很好的统计样本 然而该块只执行一次 随后的每次都会导致场景被调用但不执行 尽管它表示该场景在大约 5 毫秒的时间内成功完成 Around mass benchmark do scenario b
  • 使用 Groovy 计算两个日期之间的月份差异

    我需要计算两个日期之间的月份差异 start new Date 112 4 30 Wed May 30 00 00 00 CEST 2012 end new Date 111 9 11 Tue Oct 11 00 00 00 CEST 20