【问题标题】:Formula that incrementally adds 3 months to a [static date] until it is greater than or equal to [date created]将 [静态日期] 递增 3 个月直到大于或等于 [创建日期] 的公式
【发布时间】:2022-07-30 03:18:48
【问题描述】:

我正在使用利用 HTML 的 QuickBase。我正在尝试创建一个基本上查看[静态日期](将始终在过去)的代码,并让它增加 3 个月,直到 MM/YYYY 最终大于或等于 MM/YYYY [创建日期]。一旦上述内容被标记为 true,我希望在表单的字段类型中显示经过处理的静态日期。

示例:[静态日期 = 2021 年 1 月 1 日]、[创建日期 = 22 年 8 月 1 日] 2021 年 3 月 >= 2022 年 8 月,错误...... 2021 年 6 月 >= 2022 年 8 月,错误...... ...最终到达... 2022 年 9 月 >= 2022 年 8 月,对 张贴在该领域将是 9/1/22

提前感谢您解决这个问题的高智商

【问题讨论】:

  • 您尝试过自己创建吗?也许尝试不同的方法:计算静态日期和创建日期之间的月数。然后将月差除以 3(您的增量)并将结果向下舍入。现在您将拥有适合的月份数。将这些月份添加到静态日期,您将获得目标日期。
  • 嗨,Emiel,感谢您的回复!我对 SQL 更熟悉,但是,我正在尝试解决这个不幸需要 HTML 的问题。这个问题是迄今为止最困难的,我遇到了障碍。我喜欢你的方法。我对任何导致正确解决方案的想法持开放态度。您是否能够/愿意为您的推荐编写 HTML 代码?
  • 好的。您的意思是 JavaScript 解决方案吗?因为 HTML 是用于标记的,不能进行任何计算。您所需的解决方案取决于您的情况,这意味着您的数据如何公开,您可以在前端(您的浏览器)还是在后端(您的服务器)上进行计算。你知道我的意思?我可以给你写点东西,但目前我不知道它是否会对你有所帮助。

标签: javascript html date if-statement quickbase


【解决方案1】:

通常在 Quickbase 中,您会使用公式字段进行此类计算。假设是这种情况,您可以使用如下公式:

var Number dateCreatedMonths = 12 * Year(ToDate([Date Created])) + Month(ToDate([Date Created]));
var Number staticDateMonths = 12 * Year([Static Date]) + Month([Static Date]);

AdjustMonth([Static Date], 3 * Ceil(($dateCreatedMonths - $staticDateMonths) / 3))

以上假设您在新的公式 - 日期字段中使用它,并且静态日期字段的类型为日期。该公式获取“创建日期”和“静态日期”字段之间的月差,将该差除以 3,然后使用 Ceil 进行四舍五入,以获得使静态日期的 MM/YYYY 大于或等于创建日期的 MM/YYYY。最后,AdjustMonth 函数用于将这些月份添加到静态日期以获得新的日期值。

【讨论】:

    猜你喜欢
    • 2016-02-20
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2012-07-30
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多