如何在 Elixir 中获取上个月

2023-11-30

如何在不使用 Elixir 中的包或库的情况下获取上个月的数据?

例如,如果当前日期是2018-01-25, 我会得到2017-12-25。 或者如果当前日期是2018-03-31, 我会得到2018-02-28(2018年不是闰年)


@Sheharyar 的答案几乎就在那里,唯一的区别是你需要减去最大天数in both months:

defmodule Dating do
  def previous_month(%Date{day: day} = date) do
    days = max(day, (Date.add(date, -day)).day)
    Date.add(date, -days)
  end
end

适用于所有情况:

iex|1 ▶ Dating.previous_month(~D[2018-03-31])
#⇒ ~D[2018-02-28]
iex|2 ▶ Dating.previous_month(~D[2018-03-01])
#⇒ ~D[2018-02-01]
iex|3 ▶ Dating.previous_month(~D[2018-01-02])
#⇒ ~D[2017-12-02]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Elixir 中获取上个月 的相关文章

随机推荐

  • 从 JAR 中保存首选项

    我目前正在编写一个游戏 并且已经到了我需要用户能够保存诸如 JFrame 大小 键绑定等首选项的地步 用户将通过从我的网站下载的 jar 来运行游戏 我决定使用 java util prefs Preferences 下的 Preferen
  • 如何不断添加到JS变量?

    每次用户在框中输入值时 我都会尝试连续添加到 js 变量 到目前为止 如果他们输入 21 警报会说 您的余额是 12 英镑 但如果我输入 15 我希望它说您的余额是 27 但它会说 15 或者只是最新的数量 代码如下
  • 这个二进制文件传输有什么问题(损坏 docx 文件)?

    我已经尝试解决这个问题一个多星期了 可以really在一些帮助下做 我们使用 httprequest 将文件发布到 api 大多数文件都正常 但 docx 文件最终会损坏 经过大量研究后 我非常确定我在二进制帖子中做错了一些事情 即向文件添
  • 从电子表格中选择并复制一些值,与另一张工作表上的另一列进行比较

    我已阅读这两个链接Google 脚本 有条件地将行从一个电子表格复制到另一个电子表格 and https stackoverflow com a 4809413 1526044经过尝试后我无法做我需要的事情 我有一个电子表格 其中一张纸上有
  • 使用 eclipselink.media-type 值设置 Marshaller 属性时出现 PropertyException:application/json

    我正在尝试遵循位于的示例here但得到一个javax xml bind PropertyException 由于以下代码行 我收到此异常 marshaller setProperty eclipselink media type appli
  • iphone:Settings.bundle 返回空值

    我使用的是 xCode 3 2 然后转移到 xCode 4 2 并从 Settings bundle 获取一些值 它工作正常 同时 虽然我需要编辑 Settings bundle 中的一些值 但 Root plist 文件没有显示 所以我按
  • Django_filters 小部件自定义

    如何在 Django filters 中自定义小部件 我尝试这样做 但它在选择字段中的价值消失了添加小部件时的图像 当我删除小部件时 会显示该值删除小部件时的图像 抱歉我的英语不好 谢谢之前 class CustomerOrderFilte
  • 当 SwiftUI 已经导入合并时,为什么我还需要导入它?

    我正在尝试听 State变化并遵循这个答案 这是我的代码 import SwiftUI struct ContentView View State var isOn false var body some View Toggle Selec
  • C#/.NET/LINQ 的 Enumerable.All 方法的 Swift 等效项是什么?

    我想要一个将给定函数应用于序列并返回 true 的函数 当且仅当给定函数对序列的每个元素返回 true 时 例如可枚举 全部来自 C NET LINQ 世界 建立在乔恩的回答 您可以使用contains 而不是 显式 循环 extensio
  • read_html 编码错误

    我正在尝试网络抓取page 我想到使用 rvest 包 然而 我陷入了第一步 即使用read html来读取内容 这是我的代码 library rvest url lt http simec mec gov br painelObras r
  • 在 x86/x86_64 处理器上使用 LFENCE 指令是否有意义?

    我经常在互联网上发现LFENCE在 x86 处理器中没有任何意义 即它什么都不做 所以改为MFENCE我们可以绝对无痛地使用SFENCE 因为MFENCE SFENCE LFENCE SFENCE NOP SFENCE But if LFE
  • 在 R 中的多个分隔符处拆分字符串表达式

    我正在尝试解析 R 中的一些数学表达式 因此我想将它们分割为多个分隔符 等等 以便我获得表达式中包含的符号变量的列表 所以例如我想 2 x1 x2 3 x3 回来 x1 x2 x3 有没有好的方法呢 谢谢 您可以使用 R 解析器来查找表达式
  • 使用位置时防止元素显示在页脚顶部:固定

    我想使用CSS属性position fixed来固定元素的位置 但同时防止当用户滚动到页面底部时该元素位于我的页脚上方 有没有办法阻止元素以这种方式显示在页脚上 如果您希望有时固定元素而不是其他元素 则需要使用 JavaScript 来添加
  • 用于创建文件和日期的 csv 列表的 Windows 批处理文件

    我需要创建一个 Windows 批处理文件 该文件生成一个 csv 文件 其中包含目录中所有文件的三个字段 减去批处理文件本身 Fields 文件名 可以包含逗号 创建日期 修改日期 请注意 批处理文件将从目录运行 并且应该知道为当前目录中
  • Sql Server:索引列上的下部函数

    我发现一个大问题 我已将 Lower 函数添加到其中一个表的索引列中以获取数据 该表包含超过 100K 条记录 获取记录时 CPU 使用率达到 100 我无法理解 仅仅因为 Lower 函数 怎么会发生如此巨大的变化 请帮忙 如果您确实经常
  • 使用 strpos 进行多个搜索词匹配

    我想知道是否有人可以帮助解决我似乎无法解决的小问题 我的 此刻头在转圈 好的 我有一个包含大量信息行的 txt 文件 我正在尝试匹配关键字 与这些行并显示一定数量的匹配行 我将这段脚本放在一起 虽然它有效 但它只匹配一行 如果 单词的顺序与
  • 如何解决 AttributeError:“Resource”对象在 Google API 中没有属性?

    对于完整的上下文 我是脚本编写的新手 我正在尝试使用 Google 的 API 从 Google 管理员获取完整的用户列表 但我什至很难通过build 其中的一部分 无论我标记什么service它只是没有这个属性 除了close 我的最终目
  • 如何立即验证 Silverlight 3 Datagrid 中新插入的行?

    我有一个带有自定义 DataGrid 用户控件的 Silverlight 3 工具库 该网格无法直接访问 WCF RIA 服务实体类型 因此当用户在网格为空时单击网格时 我使用反射来添加新项目 private void InsertEmpt
  • 如何在 Python 3.2 中检查整数?

    我正在尝试编写一个程序 其中用户输入一个两位数整数 输出是打印第一位数字指示的次数的第二位数字 这是我到目前为止所拥有的 number input Type two digit integer n a int number 10 b int
  • 如何在 Elixir 中获取上个月

    如何在不使用 Elixir 中的包或库的情况下获取上个月的数据 例如 如果当前日期是2018 01 25 我会得到2017 12 25 或者如果当前日期是2018 03 31 我会得到2018 02 28 2018年不是闰年 Shehary