让 NSTimeZone 在单元测试中无故障

2023-12-25

因此,在 Objective-C 中对日历代码进行单元测试时存在以下问题:时区包含有关夏令时的信息,因此您在夏天编写一个测试,预计 6 月 10 日的日出发生在早上 6:02。您的测试通过了,稍后,您在非 DST 时运行测试并且失败,因为当您获取时区时,夏令时将关闭。

似乎没有一种简单的方法可以告诉它为您提供打开夏令时的时区?

我正在考虑做一个类别,以便拦截时区调用,但这听起来非常混乱,因为我不知道你正在操纵什么日期。

当然,我可以编写所有测试来检查时区设置,然后改变我所有的期望,但这听起来像是所有可能选择中最糟糕的。


特定于区域的时区必须考虑夏令时,以便准确计算两个日期(和时间)之间的间隔。如果您对此不感兴趣,也许您可​​以使用 UTC“时区”来代替,它根本不会改变。

例如,新西兰标准时间定义为 UTC+12:00,新西兰夏令时定义为 UTC+13:00。尽管新西兰的当地时间在夏令时期间有所不同,但 UTC+12:00 的时间保持不变(也就是说,所有其他也使用 UTC+12:00 的国家不会仅仅因为夏令时就神奇地向前推进)已在新西兰开始)。

您只需提供 UTC 偏移量作为名称即可实现此目的:

NSTimeZone *utc_plus12 = [NSTimeZone timeZoneWithName:@"UTC+12:00"];

找出您所在地区的夏令时基于什么 UTC 偏移量并使用它。

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

让 NSTimeZone 在单元测试中无故障 的相关文章

  • 如何禁用 UITextView 上的键盘?

    我在 xib 上的 iPad 应用程序中使用了文本视图 我在上面写了一些文字 现在 当应用程序运行并且用户正在阅读该文本时 如果他不小心触摸了屏幕 则会出现键盘 我想禁用键盘弹出 我该怎么做呢 尝试关闭可编辑模式 textView edit
  • scanForPeripheralsWithServices:options: 指定服务时无法连接

    使用 scanForPeripheralsWithServices options 时 我能够在使用时发现服务 Scanning with nil services will return all devices NSLog Looking
  • 应用程序在后台保存几分钟后就会被杀死

    当我打开我的应用程序并执行一些操作时 例如导航到某些ViewController 然后我几分钟内没有触摸该应用程序 iPhone 被锁定 应用程序进入BackGround State 现在经过几 分钟 大约 5 分钟 当我解锁 iPhone
  • NSTextField:当用户单击文本字段之外时结束编辑

    我有一个NSTextField我根据用户操作设置可编辑 我想在用户单击窗口内文本字段之外的任何位置时结束编辑 看起来很简单 但我无法让它发挥作用 我实施了controlTextDidEndEditing and textDidEndEdit
  • 生成日期并将新属性添加到对象数组中

    我无法控制数据列表 但我需要将其映射到日期范围数据 数据列表如下所示 只有 from 和 to date from 2017 05 06 00 00 00 date to 2017 05 08 23 59 59 state name San
  • UIImage initWithContentsOfFile 不起作用

    我有问题 我想避免 UIImage imageNamed 所以我做了 UIImage prodImg UIImage alloc initWithContentsOfFile myimage png controller productIm
  • 处于编辑模式时滑动即可删除

    我有一个使用 uitableview 的 iPhone 应用程序 我希望始终显示 重新排序 控件 并让用户滑动以删除行 我目前采取的方法是将表格视图置于编辑模式并允许在编辑模式下进行选择 self tableView editing YES
  • 星期几和月份的 JavaScript 全名(或如何获取每个客户端区域设置的日期名称)

    返回的字符串 new Date toString 看起来像这样 Tue Nov 22 2016 14 14 51 GMT 0800 Pacific Standard Time 是否有我们可以使用的内置方法 构造函数不会缩写星期几和 或月份
  • 使用 Objective-C 将 HTML 文本转换为纯文本

    我有巨大的NSString里面有 HTML 文本 该字符串的长度超过 3 500 000 个字符 我怎样才能将此 HTML 文本转换为NSString里面有纯文本 我正在使用扫描仪 但它运行速度太慢 任何想法 这取决于您的目标 iOS 版本
  • AVPlayerLayer获取图像到UIImageView缓冲区

    我尝试 playerLayer renderInContext UIGraphicsGetCurrentContext 它将显示黑色背景 所以我得到当前播放器项目作为连续的重击图像 它看起来不像视频播放 只是静态图像连续流动 那么还有其他选
  • iOS App Today 扩展未上传到物理设备

    我正在为我的应用程序创建一个今日小部件http budgt ch http budgt ch因为一些用户要求快速访问关键功能 初步 扩展在 iOS 模拟器上运行良好 安装如下 1 安装最新的容器应用程序 2 安装以 今天 为容器的扩展 但是
  • 将年月格式转换为 POSIXct [重复]

    这个问题在这里已经有答案了 我有一些年月形式的数据 我想将其格式化以用于绘图ggplot date lt c 2016 03 2016 04 2016 05 2016 06 2016 07 2016 08 2016 09 2016 10 2
  • git 命令显示所有(轻量级)标签创建日期

    是否有一个衬垫可以向我显示所有 git 轻量级标签的创建日期 就像是 git show tags format date 我在这个发现link http osdir com ml git 2009 05 msg01404 html适合我需求
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • UIButton 图像未更改/更新

    首先 我对 Objective C 还很陌生 并且仍在尝试尽可能多地学习 所以请耐心等待 现在我有一个以编程方式创建的 UIButton 按下按钮时 将显示一个 UIActionSheet 其中包含 相机 选择照片 或 取消 选项 然后 按
  • 如何将完整的日期格式拆分为日期和时间?

    我有很多格式为我的示例所示的字符串 我必须解析它们 我正在尝试确定今天是哪根弦 我的问题是 时间快到了 我只需要比较那个日期 接下来我想检查时间是否在 after 和 before 的两个时间戳 HH mm ss 之间 但存在问题 日期几乎
  • 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

    当您想要回复消息时 我想创建一个类似于邮件应用程序中的弹出菜单 我在多个应用程序中看到过这一点 所以我不确定框架中是否内置了某些内容或一些示例代码 在 Swift 中创建操作表 代码已使用 Swift 5 进行测试 从 iOS 8 开始 U
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • 如何建立辅助NSSortDescriptor排序键?

    我已成功按排序键对数据进行排序lastName 但我想知道如何排序lastName 然后由firstName 这是我用来排序的代码lastName NSSortDescriptor sortDescriptor NSSortDescript
  • 最近打开的应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有什么方法可以获取最近打开的应用程序 例如 4 个 的列表吗 如果是这样 怎么办 可可麦克 看看LaunchServices LSSh

随机推荐

  • 如何向输入标签添加多个值 - js

    我正在尝试捕获多个图像 然后保存到数据库中 这是js代码 const player document getElementById player const canvas document getElementById canvas con
  • 如何弃用一个论点?

    R 中有弃用参数的标准方法吗 示例 对于 Web API 包 我之前包含了一个paging TRUE参数将对所有结果进行分页并下载所有内容 现在我想要一个limit相反 如果设置为则仅下载所有内容limit 0 这有效地消除了对paging
  • 如何将单个数据网格行 FontWeights 更改为粗体?

    当在我的数据网格中选择一行并按下按钮时 我想将该行中单元格的 FontWeight 更改为粗体 我一直在寻找一种方法来做到这一点 但我所能做的就是更改每列的样式 我找不到获取所选行 或与此相关的任何行 的方法 我没有可以从 ItemSsou
  • 使用反向迭代器反转 C++ 中的字符串?

    我有以下代码 但我似乎无法找到一种方法来反转此处的字符串 stringstream convert string y string z convert lt lt x string reverse iterator rit y conver
  • 在 C# 中将数据从 datatable 移动到 datagridview

    我有一个 C 程序 它从两个不同的数据库文件中选择数据 并将所需的数据组合到数据表 dt 中 我需要的所有信息都在该数据表中 我想将其放入 datagridview 中 除了数据表中的信息之外 datagridview 中还有两列 当我将每
  • 删除*所有*重复行,除非有“相似”行

    我有以下内容data table library data table dt data table c 1 1 1 2 2 2 2 3 4 c 4 4 4 5 5 6 7 4 5 V1 V2 1 1 4 2 1 4 3 1 4 4 2 5
  • 创建具有左/右侧的用户定义运算符

    我开始使用 pl sql 开发 Oracle 运算符 指南中有一些示例 但现在我坚持一些 在我见过的所有例子中 它总是这样的 CREATE OPERATOR Contains BINDING VARCHAR2 VARCHAR2 RETURN
  • 从 .NET 中的 app.config 或 web.config 读取设置

    我正在开发一个 C 类库 它需要能够从web config or app config文件 取决于 DLL 是从 ASP NET Web 应用程序还是 Windows 窗体应用程序引用 我发现 ConfigurationSettings A
  • 使用 VBA Excel 将范围内的单元格值增加 1

    我目前正在尝试实现插入新行值和自动复选框插入器 我目前将以下代码分布在不同的按钮上 因此分布在不同的子按钮上 我已将需要增加 1 个单元格的关键信息加粗 这将在单击 InsertNewBill 按钮后发生 Private Sub Inser
  • 错误:E0708:E0708:无效转换

    使用这个tutorial https blogs oracle com datawarehousing entry building simple workflows in oozie我为配置单元脚本创建了工作流程 但当我运行以下命令时出现
  • kotlin 中的全局对象声明

    如何在全局中声明对象kotlin就像在java中一样TextView tv 或者在不同方法 函数中调用相同变量的任何方法 override fun onCreate savedInstanceState Bundle super onCre
  • 如何设置即使在打瞌睡模式下也能工作的重复闹钟?

    我知道 setExactAndAllowWhileIdle 即使在 Doze 模式下也会调用警报 但如何让它每天重复 因为没有 setRepeatingAndAllowWhileIdle 类型的方法 None
  • Web API 2 项目和 MVC 5 网站项目在同一域中

    使用的技术 BreezeJS OData 网络应用程序接口2 MVC 5 集成开发环境 Visual Studio 2013 我一直在考虑在一个解决方案中拥有一个 Web API 项目和一个单独的网站项目的想法 我的 Web API 2 项
  • Java 8 Base64 JWT 令牌转换为 JSON

    因此 我在网上和 StackOverflow 上对此进行了一些研究 并且尝试了许多我发现的建议 问题是我正在登录我们的一项运行良好的 Oauth2 服务 我获得了 Oath2 JWT 令牌 我知道这是 Base64 编码的 我可以将令牌放入
  • 有没有办法在 mongoDB 中将 $exists 与 $expr 一起使用?

    我是 mongoDB 的新手 我需要在 mongoDB 中将 exists 与 expr 一起使用 我尝试了以下操作 lookup as collectionDet from collection let userId userId pip
  • 如何在 nextflow 工作流程中正确格式化“pod.securityContext”指令?

    我正在尝试配置podNextflow 流程中的指令 文档在这里 https www nextflow io docs latest process html process pod 我正在尝试遵循解决方案在这个SO问题中提供 https s
  • 如何在Powerpoint 2007 VBA中检测主题字体?

    有谁知道如何使用 VBA 检测 Powerpoint 2007 幻灯片对象中主题字体的使用 如果有人看Shape TextFrame TextRange Font Name字体名称显示为简单名称 例如 Arial 无论字体是否指定为固定名称
  • 在地址栏中隐藏查询参数 - VueJS

    我正在使用 Vue js 2 我正在尝试创建一个链接 将我发送到另一个页面 这就是我所拥有的 div div
  • 可以在亚马逊s3上存储json吗?

    我想将 json 文件存储到我的亚马逊 s3 然后使用 ajax 请求检索它 不幸的是 s3 似乎不允许内容类型 application json 我应该将文件保存为文本 纯文本 然后使用 php 添加标头 我已经找到问题了 我以错误的方式
  • 让 NSTimeZone 在单元测试中无故障

    因此 在 Objective C 中对日历代码进行单元测试时存在以下问题 时区包含有关夏令时的信息 因此您在夏天编写一个测试 预计 6 月 10 日的日出发生在早上 6 02 您的测试通过了 稍后 您在非 DST 时运行测试并且失败 因为当