unit-testing - 如何为最近的加拿大 spring forwrd-transition for 2020a tz 编写 junit 测试用例
问题描述
我想知道如何为加拿大的 spring forwrd-transition 编写 JUnit 测试用例。请参阅以下信息
以 America/Whitehorse 和 America/Dawson 为代表的加拿大育空地区,从 2020 年 3 月 8 日的春季向前过渡开始,全年前进至-07,并不会在 2020 年 11 月 1 日回落
请参阅此链接https://www.iana.org/time-zones
我需要 Java 7 中的代码,我需要用 Joda-Time 编写代码。
解决方案
@ole 该断言语句不是可概括的断言。我想我们可以在 11 月 1 日和前一天做这个计算。我的想法是,如果我们从另一个中减去值,我们将得到-1,0,+1。所以我们可以检测到春天的前进,正常日和后退。主要是我需要在乔达时间写。下面的代码是不是不正确。因为 getoffset 没有像您在代码中编写的那样得到。
DateTimeZone timezone = DateTimeZone.forID("America/Whitehorse");
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss").withZone(timezone);
DateTime dateTimeStart = formatter.parseDateTime("2020-11-1T01:00:00");
dateTimeStart.withZone(timezone).withLaterOffsetAtOverlap();
DateTime dateTimeStop = formatter.parseDateTime("2020-10-31T01:00:00");
dateTimeStop.withZone(timezone).withLaterOffsetAtOverlap();
assertEquals((dateTimeStart.getMillis() / 10000), (dateTimeStop.getMillis() / 10000));
推荐阅读
- c# - AWS S3 GetObjectAsync 挂起/超时
- ios - 在 UILabel 的子类上调用函数
- javascript - 如何检查ajax代码是否执行?
- mysql - 在两个表上创建 UNION ALL 之后,如何删除/更新在其他表中具有类似 ID 的特定行?
- c# - 机器日期时间格式覆盖代码日期时间格式
- amazon-s3 - AWS S3 默认加密可以使用另一个账户拥有的 KMS 密钥吗?
- python - 如何在 Django 模型中保存多选?
- c++ - 是否可以将 C++ 结构的字段转换为包参数?
- python - 如何在python中返回函数后在后台运行一些代码
- sql - 如何使用另一个数据库表中的值更新表