Nodatime计算X天内的年/月/日

2023-12-29

假设我有 678 天,如何计算从那一刻算起还有多少年、月、日?

Duration duration = Duration.FromStandardDays(678);
Instant now = SystemClock.Instance.Now;
Instant future = now + duration;

// I have to convert NodaTime.Instant to NodaTime.LocalDate but don't know how

Period period = Period.Between(now, future);
Console.WriteLine("{0} years, {1} months, {2} days", period.Years, period.Months, period.Days);

您确实可以使用 Noda Time 来做到这一点。

首先,你需要一个起点。这使用当地时区的当前日期。您可能希望使用不同的日期或不同的时区,具体取决于您的情况。

Instant now = SystemClock.Instance.Now;
DateTimeZone timeZone = DateTimeZoneProviders.Bcl.GetSystemDefault();
LocalDate today = now.InZone(timeZone).Date;

然后只需添加天数:

int days = 678;
LocalDate future = today.PlusDays(days);

然后您可以获得具有所需单位的周期:

Period period = Period.Between(today, future, PeriodUnits.YearMonthDay);
Console.WriteLine("{0} years, {1} months, {2} days",
                  period.Years, period.Months, period.Days);

重要的是要认识到结果代表“从现在开始的时间”。或者,如果你替换一个不同的起点,那就是“从(起点)”。在任何情况下你都不应该认为结果是X days = Y years + M months + D days。这是荒谬的,因为一年中的天数和一个月中的天数取决于which你所说的年份和月份。

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

Nodatime计算X天内的年/月/日 的相关文章

  • 使用 ## 和 __LINE__ 创建 C 宏(与定位宏的标记串联)

    我想创建一个 C 宏来创建一个基于名称的函数 在行号上 我想我可以做类似的事情 真正的函数在大括号内有语句 define UNIQUE static void Unique LINE void 我希望能扩展到类似的内容 static voi
  • 低级挂钩/SetWindowsHookEx lParam 自动重复?

    在这里阅读 Windows PC 上如何实现键盘自动重复 https stackoverflow com questions 876852 how is keyboard auto repeat implemented on a windo
  • 从 unsigned char* 到 char* 的转换无效

    这是一个代码 1 int main int argc char argv 2 3 signed char S psc 4 unsigned char U pusc 5 char C pc 6 7 C S 8 C U 9 10 pc psc
  • 如何准备sql语句并绑定参数?

    不幸的是 文档 http www sqlite org完全缺乏示例 这真的很奇怪 就好像它假设所有读者都是优秀的程序员一样 然而 我对C 并且无法真正从文档中弄清楚如何真正准备和执行语句 我喜欢它的实施方式PDO for PHP 通常 我只
  • C++ 中可以使用匿名类作为返回类型吗?

    有没有办法在 C 中使用匿名类作为返回类型 我用谷歌搜索这可能有效 struct Test fun 但是这段代码无法编译 错误信息是 新类型不能在返回类型中定义 其实代码没有任何意义 我只是想弄清楚匿名类是否可以用作C 中的返回类型 这是我
  • 仅针对某些异常类型中断

    我知道异常处理是一件非常重要的事情 我们在所有项目中都在这样做 主要原因是记录客户发生的错误 这工作正常 根本不是问题 但是 当我仍在使用 Visual Studio 编码和运行应用程序时 我根本不需要任何异常处理 我希望调试器正好停在应用
  • Xcode 新手无法用 C++ 打开文件?

    我一直在我参加的课程中使用 Windows 但我正在尝试运行基本代码来弄清楚如何从 Xcode 上的文件打开 关闭 输入 输出 而我通常在 Visual Studio 上使用的代码不是不知道为什么 谢谢 include
  • 如何检查给定调用站点的重载决策集

    如何检查重载解析集 我在多个调用站点中使用了 4 个相互竞争的函数 在一个调用站点中 我期望调用一个函数 但编译器会选择另一个函数 我不知道为什么 这不是微不足道的 为了了解发生了什么 我正在使用enable if disable if打开
  • C# 中不区分大小写的替换不使用正则表达式?

    有没有一种方法可以在不使用 C 中的正则表达式的情况下对字符串进行不区分大小写的替换 像这样的东西 string x Hello x x Replace hello hello world 你可以尝试类似的东西 string str Hel
  • 我如何模拟 UserManager 和 RoleManager 进行单元测试

    我模拟了抽象类来测试类的具体方法 如下所示 var mock new Mock
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • C++ 更改屏幕方向问题 -- DEVMODE dmDisplayOrientation DMDO_90 undefined

    我似乎无法编译一些 C 代码 我正在翻转显示器的方向 但 VS2008 告诉我 DMDO 90 和 DMDO 270 无法识别 error C2065 DMDO 90 undeclared identifier error C2065 DM
  • 多个包含带有变量定义的头文件

    我只是构建一个简单的 C 项目 代码如下所示 head h ifndef HEAD H define HEAD H int my var 100 endif src1 cpp include head h src2 cpp include
  • 我应该使用 Helgrind 还是 DRD 进行线程错误检测?

    好像Valgrind http valgrind org docs manual manual html有两个工具都可以进行线程错误检测 Helgrind http valgrind org docs manual hg manual ht
  • 为什么将未使用的返回值转换为 void?

    int fn void whatever void fn 是否有任何理由将未使用的返回值强制转换为 void 或者我认为这完全是浪费时间 David s answer https stackoverflow com questions 68
  • 智能感知不显示评论

    如果我在 Visual Studio 2010 中输入类似的内容数据集1 我得到所有可用方法和属性的列表 智能感知 这很好用 但是 如果我在此列表中选择一个方法或属性 我不会得到 if 的描述 例如 如果我有类似的东西 public cla
  • 在 C++ 中什么时候首选传递指针而不是引用传递?

    我可以想象一种情况 其中输入参数可以为 NULL 以便首选传递指针而不是传递引用 有人可以添加更多案例吗 在传递的对象实际上将被修改的情况下 有些人更喜欢传递指针 当对象通过引用传递时 它们使用 pass by const referenc
  • OpenCV 仅围绕大轮廓绘制矩形?

    第一次发帖 希望我以正确的方式放置代码 我正在尝试检测和计算视频中的车辆 因此 如果您查看下面的代码 我会在阈值处理和膨胀后找到图像的轮廓 然后我使用 drawContours 和矩形在检测到的轮廓周围绘制一个框 我试图在 drawCont
  • 如何编写完全可移植的 4 字节字符常量的编译时初始化

    遗留 代码大致如下所示 define MAKEID a b c d UInt32 a lt lt 24 UInt32 b lt lt 16 UInt32 c lt lt 8 UInt32 d define ID FORM MAKEID F
  • 使用 List.Contains 方法为 LINQ 构建表达式树

    Problem 我正在重构一些LINQ查询我们的 Web 应用程序中的多个报告 并且我尝试将一些重复的查询谓词移至它们自己的中IQueryable扩展方法 以便我们可以将它们重新用于这些报告以及将来的报告 正如您可能推断的那样 我已经重构了

随机推荐

  • 具有血统的动态选择

    我的应用程序使用祖先宝石 class Location lt ActiveRecord Base has ancestry cache depth gt true has many posts end class User lt Activ
  • 获取当前 Word 文档的 OneDrive 项目 ID

    我正在考虑为 Microsoft Word 构建一个加载项 其中涉及创建当前文档的副本 我找到了我能找到的地方通过 OneDrive API 复制项目 https dev onedrive com items copy htm 但是 这需要
  • 带有 WHERE 子句的 SQL LIMIT

    是否可以将 LIMIT x 与 WHERE 子句一起使用 如果是这样 怎么办 我正在尝试这样做 select from myVIew LIMIT 10 where type 3 但我收到以下错误 ERROR syntax error at
  • Node.js Express:在 app.get() 和 app.post() 之前对每个 HTTP 请求执行钩子?

    我不想将身份验证功能放在每个的顶部app get 我如何在每个请求之前执行代码app get 在路由之前设置中间件 function myMiddleware req res next if req method GET Do some c
  • T-SQL 中的 EXEC 忽略 CONCAT_NULL_YIELDS_NULL

    对于任何版本的 Sql Server 我都无法理解为什么在以下脚本中 EXEC 返回 GetDate 的结果 我预计没有结果 SET CONCAT NULL YIELDS NULL ON DECLARE sql select nvarcha
  • 可以在 Visual Studio 的输出窗口中查看 OutputDebugString 的输出吗?

    我正在使用 C 和 Visual Studio 2010 当我使用OutputDebugString要写入调试信息 它应该显示在输出窗口中吗 我可以看到输出OutputDebugString in 调试视图 https technet mi
  • iText7 将 PDF 转换为图像

    请告诉我在iText7中可以使用什么方法将pdf转换为图像 在 Itexsharp 中 有一个将 pdf 文件转换为图像的选项 以下是链接 使用 iTextSharp 将 PDF 转换为图像http www c sharpcorner co
  • 在 spring 中根据属性文件创建 bean 列表

    我想在 spring 中根据属性文件创建 bean 列表 为了说明问题 假设我有一个ClassRoom public class ClassRoom private List
  • Django 管理搜索:如何覆盖默认处理程序?

    我希望自定义跨 search fields 进行搜索查询的方式 有没有一种方法可以做到这一点 而无需深入 Django 代码或创建完全独立的视图 例如 我想返回 querystring split 的每个项目的查询集的并集 因此 搜索 ap
  • HTTPS POST 请求 Python,返回 .csv

    我想向 HTTPS 站点发出发布请求 该站点应以 csv 文件响应 我有这个Python代码 try conn httplib HTTPSConnection host www site com port 443 gt 给出 BadStat
  • C# 中顺序循环为何比并行循环运行得更快?

    我尝试了一个非常小的例子 using System using System Collections Generic using System Linq using System Text using System Threading Ta
  • Android 布局权重没有像我想象的那样工作

    下列的android layout weight 是什么意思 https stackoverflow com questions 3995825 what does androidlayout weight mean 我有这个
  • Flash AS3跨域绕过问题

    我目前正在我的网站上托管一个 Flash 游戏 网址为 https 我添加了一个跨域文件 指定我只允许从托管我的 Flash 应用程序的网站进行访问 如果我下载 swf 文件并尝试从本地计算机运行它 它不会让我运行 这就是我想要的 但是 如
  • 如何在 Backbone 中处理日期?

    我将日期以 DATETIME 格式存储在 MySQL 数据库中 从数据库中获取模型时 日期 DATETIME 格式 将转换为模型中的日期对象初始化方法 到目前为止 一切都很好 将模型保存到服务器时 需要将日期对象转换回 DATETIME 格
  • 带有未绑定列的 Devexpress 网格

    我有一个 DevExpress 网格 我想在其中添加一个未绑定的复选框以便能够选择某些项目 选择完成后 我按下一个按钮 我必须循环网格才能获取所有选定的项目 它必须是一个复选框 我尝试过使用多选网格 但用户无法使用它 我已经尝试了在支持网站
  • mongodb文档更新后什么时候会过期?

    我在 mongodb 中有一个文档集合 其中expireAfterSeconds在日期类型索引上设置的属性 为了便于讨论 这些文件被设置为一小时后过期 当我更新此集合中的文档时 会发生以下哪一项情况 a 该文件将在一小时后过期origina
  • 如何在 iOS 中覆盖键盘上方的视图 [重复]

    这个问题在这里已经有答案了 我需要呈现一个覆盖打开的键盘的帮助屏幕 帮助屏幕应该使下面的整个视图变暗 并仅保留一个完全透明的小孔以 突出显示 该部分 重点是在突出显示多个视图组件的同时提供有关它们的一些信息 如果没有键盘 我可以将视图放在层
  • 允许用户为 winform 应用程序选择全局主题

    我正在为内部使用而构建的 winform 应用程序中使用 DevExpress 控件 我的应用程序总共有大约 30 个表单 我正在尝试找出一种方法来允许我的用户选择主题 我在其他帖子的答案中多次看到这里提到这一点 我相信我了解 StyleC
  • Delphi 2009 可以构建返回数据集的 Web 服务吗?

    在我读过的示例 Delphi Web 服务教程中 他们倾向于构建一个返回简单字符串或整数的 Web 服务 例如 http blogs codegear com pawelglowacki 2008 12 18 38624 http blog
  • Nodatime计算X天内的年/月/日

    假设我有 678 天 如何计算从那一刻算起还有多少年 月 日 Duration duration Duration FromStandardDays 678 Instant now SystemClock Instance Now Inst