设置 NSDateComponents 会导致 NSDate 不正确

2023-12-05

我正在尝试获取当地时间为 21:00 的 NSDate 对象 - 不关心是哪一天。我对这个非常奇怪的结果感到摸不着头脑:

NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setHour:21];
[components setMinute:0];
[components setSecond:0];

NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%@", date);

结果是0001-01-02 04:52:58 +0000

我不知道为什么。当前时间为太平洋标准时间 17:34,但结果不随当地时间变化。

如果我将 setMinute 和 setSecond 行调整为

[components setMinute:7];
[components setSecond:2];

I get 0001-01-02 05:00:00 +0000,这是正确的(太平洋标准时间 21:00)。


问题是铁路时间直到 1883 年 11 月 18 日才实施。您忽略了设置年份,因此得到了在此之前的日期。在实施铁路时间之前,美国时区与 GMT 之间的时差并不准确。我不确定 Apple 为您选择的具体时区,但无论是哪个时区,似乎都在 1883 年转换为 PST 后调整了 7 分 2 秒。

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

设置 NSDateComponents 会导致 NSDate 不正确 的相关文章

  • UILocalizedIndexedCollat​​ion的sectionForObject:(id)object collat​​ionStringSelector:(SEL)selector方法中selector的作用是什么

    我是 iOS 开发的初学者 正在经历this https developer apple com library ios documentation UserExperience Conceptual TableView iPhone Cr
  • 循环缓冲区录音 iOS:可能吗?

    我的一个客户想要连续录制音频 当他单击 提交 时 他只想提交最后 10 秒的内容 所以他想要连续记录并且只保留最后 x 秒 我认为这需要类似循环缓冲区的东西 但是 作为 iOS 的新手 它看起来像AVAudioRecorder只能写入文件
  • 是否可以在无需升级 iOS 企业应用程序的情况下更新配置文件?

    新生成的配置文件似乎不再与同一应用程序的旧版本兼容 新应用程序确实适用于新配置文件 但是我们不想升级链接到旧版本后端且并非全部与最新应用程序兼容的所有应用程序 我们确实需要尽快更新配置文件 以保持旧应用程序正常运行 我们之前已经这样做过 但
  • 恢复从未付款过的用户的应用内购买

    我正在尝试在我的应用程序中测试应用程序内购买 当我与购买了应用程序内购买的测试用户恢复应用程序内购买时 一切正常 但是当我尝试与用户恢复应用内购买时didn t在我期望框架调用以下方法之前进行应用内购买 paymentQueue resto
  • CoreMediaIO,错误更新的属性 kCMIODevicePropertyDeviceIsRunningSomewhere

    当某些进程开始使用相机时 我需要接收一个事件 我通过 CMIOObjectGetPropertyData 完成此操作 但它不能正常工作 只有第一次访问时才是正确的值 我还尝试使用 CMIOObjectAddPropertyListenerB
  • 将自定义变量添加到现有类(如 UIButton)的正确方法是什么?

    在我的应用程序中 我严重依赖不同的视图类型 它们将持有不同的值 例如 对于一个按钮 我需要它有 4 个附加变量 我是这样实现的 import UIKit class ActionButton UIButton var row 0 var a
  • UIPickerView - 对多行行使用自定义视图 - 需要布局建议

    我有一个 UIPickerView 它将为用户显示项目列表 我希望每个项目都显示为多行文本 每行使用不同的字体大小 一个粗略的模型如下所示 这将允许显示比默认 UIPickerView 的单行所能容纳的更多文本 bdesham 指出我在 U
  • 退出我的应用程序后未显示蓝色横幅“您的应用程序正在使用您的位置”

    我的应用程序在后台模式下使用核心位置 当应用程序处于后台模式并定期发送 GPS 坐标时 不会显示蓝色横幅 您的应用程序正在使用您的位置 例如谷歌地图应用程序 知道我可能错过了什么吗 要显示蓝色条 您应该 1 启用Background Loc
  • UISegmentedControl 中的自定义字体禁用调整FontSizeToFitWidth

    我已经为我的 UISegmentedControl 设置了自定义字体 但它似乎禁用了默认字体自动调整字体大小以适合宽度范围 Before After 这是我用来设置自定义字体的代码 UISegmentedControl segmentedC
  • 编码的 nsdata utf8 json,在 ios 中带有重音字符

    我向网络服务器发出一个发布请求 该服务器用 JSON 回答我 这是响应的标头 Cache Control private Content Length 826 Content Type application json charset ut
  • 已执行最大重试次数。上传ipa问题

    我使用 build phonegap com 构建了 ipa 我试图将此 ipa 卸载到商店 但收到此错误 我解决了这个问题 安装xCode 4 并使用该xCode 4的版本应用程序加载器 这个问题得到解决
  • iOS 8 支持动态链接吗?

    直到 iOS7 之前 出于安全考虑 Apple 都不支持动态链接 开发人员之间的代码重用通常依赖于静态库 这些静态库是作为应用程序可执行文件的一部分构建的 在 iOS8 中引入扩展似乎稍微改变了这一点 因为扩展是单独的可执行文件 扩展及其包
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie
  • 在 Android 上使用 opus 剪辑从 IOS 发送的声音

    我正在 IOS 中从 audioUnit 录制音频 用 opus 编码字节并通过 UDP 将其发送到 android 端 问题是播放的声音有点削波 我还通过将原始数据从 IOS 发送到 Android 来测试声音 效果非常完美 我的 Aud
  • tableView.dequeueReusableCellWithIdentifier() 导致应用程序挂起

    原帖 我们最近将我们的应用程序转换为 Swift 2 0 和 iOS9 我看到的一个奇怪的问题是调用 tableView dequeueReusableCellWithIdentifier 会导致应用程序挂在模拟器中 The code fu
  • 从数组中获取随机字符串[重复]

    这个问题在这里已经有答案了 我试图从数组 firstArray 中获取随机字符串并将其打印在 UILabel label 中 我似乎无法弄清楚并且出现错误 感谢您的帮助 我尝试搜索但找不到任何最新的教程 方法 import UIKit cl
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • UITextView 动画更改框架不会动画文本重新分配

    我有一个 UITextView 我试图在用户点击按钮时为框架的变化设置动画 基本上 文本视图会变大以适应屏幕 以便可以显示更多文本 然后当用户再次点击按钮时 它会缩小到原始框架 我使用块执行动画 如下所示 if isDisplayingDe

随机推荐

  • “复制”不会创建动态数组的独立副本

    参考位于以下位置的在线文档http docwiki embarcadero com RADStudio XE6 en Structured Types Dynamic Arrays 写得很清楚 要制作动态数组的独立副本 请使用 Copy 函
  • 使用 ajax 请求安全地发送密码

    只是想知道 是否可以通过 Ajax 请求安全地发送密码 我有一个登录框 它调用 ajax 请求来尝试登录 通过并检索有错误的 JSON 对象 如果有 我应该使用表单重定向吗 EDIT 将加密的密码存储在数据库中并不是解决方案 因为ajax发
  • 替换由另一个矩阵索引的矩阵元素

    经过几个小时的搜索 我正在寻求您的专业知识 R 初学者 我尝试加快我的代码速度 我的目标是替换矩阵中的值A 但是 我想根据另一个矩阵的两个向量替换值B B 1 是行的名称i矩阵的A 第二栏 B 2 对应矩阵的列名A 我的代码的第一个版本是在
  • 如何在 jQuery 中获取当前日期?

    我想知道如何使用 jQuery 中的 Date 函数来获取当前日期yyyy mm dd format Date 不属于jQuery 它是 JavaScript 的特性之一 See Date 对象的文档 你可以这样做 var d new Da
  • IKVM 的 Map.xml 中的字符串和复杂数据类型!

    我正在使用 IKVM 将 java jar 文件转换为 NET dll 文件 我可以从整数类型的 getter 和 setter 创建一个属性 但我无法在 java 代码中对字符串数据类型执行此操作 您能告诉我 IKVM 的字符串或复杂数据
  • 检查 C++ 中的 double(或 float)是否为 NaN

    有 isnan 函数吗 PS 我在MinGW 如果这有影响的话 我通过使用 isnan 解决了这个问题
  • ASP.NET 中的 JQuery 与母版页

    我正在尝试将 JQuery 与一些使用母版页的 asp net 页面一起使用 并且在加载 JQuery javascript 文件时遇到问题 当我将该文件包含在母版页的标记中时 它在与母版页位于同一目录中的页面上运行良好 但是对于与母版页不
  • 以编程方式检索 OS X 命令行应用程序的绝对路径

    在Linux上 应用程序可以通过查询轻松获取其绝对路径 proc self exe 在 FreeBSD 上 它更加复杂 因为您必须构建 sysctl 调用 int mib 4 mib 0 CTL KERN mib 1 KERN PROC m
  • 触发器可以被锁定吗?如何确定它是?

    在回答中如果我在应用程序运行时替换 Oracle 触发器 是否会错过任何更改 我查看触发器是否被 INSERT 语句锁定 事实并非如此 我在互联网上找不到任何表明可以锁定触发器的内容 如果我在一个会话中运行以下命令 create table
  • SignalR - 离开所有组

    使用 SignalR 集线器可以在组中添加或删除客户端 一个客户端可以属于多个组 是否可以将客户端从其当前所属的每个组中删除 我想我正在寻找的是类似的东西Clients allgroups leave Context ConnectionI
  • CFBundleDocumentTypes 和 UIFileSharingEnabled 问题

    有人让 UIFileSharingEnabled 或 CFBundleDocumentTypes 工作吗 我将 UIFileSharingEnabled 添加为 true 到我的 plist 中 并使用下面链接中的 Apple 示例作为 C
  • 在 iOS 14 小部件上渲染图像

    我正在开发 iOS 14 Widget 扩展 我有 3 个图像要循环显示 并创建一个时间轴来显示这些图像 func getTimeline in context Context completion escaping Timeline
  • 单行上的 EditText.setError()

    我有一个问题EditText setError 我有一个 EditText
  • 在 boost r-tree 中存储或访问对象

    我在用Boost s我的代码中的 r 树实现 我有一个带有坐标的对象列表 比如地图上的城市 如果重要的话 我希望在 r 树中索引 以执行快速 NN 搜索等 我已经遵循了他们的迭代查询示例 其中树木存储boost geometry model
  • C# 按值传递

    我只是想举下面的例子 public void main int x 1 Foo x public void Foo int y y 5 我们知道 C 参数是按值类型的值传递的 这是否意味着在上面的示例中 我在堆栈上有 2 个副本 一份用于
  • Z3 中断言的顺序有何重要性?

    我有两个文件 除了放置断言的顺序之外 其内容相同 在一个文件中 断言的放置顺序与另一个文件的顺序相反 第一个文件 po 9 z3 在不到一秒的时间内被 Z3 声明为不可满足 而另一个文件 po z3 在一分钟内无法验证 造成这种差异的原因是
  • 如何获取 XCode 应用程序的日志

    我正在寻找 Xcode 应用程序本身的日志 不是我的 iOS 应用程序或设备的日志 我一直在使用 Storyboard 源代码 xml 进行一些实验工作 有时我会收到 Xcode 随机崩溃或类似 无法打开文档 Main storyboard
  • 使用 Process.Start 运行程序时,找不到其资源文件

    我有这个代码 private void button1 Click object sender EventArgs e Process p new Process p StartInfo FileName C Users Valy Desk
  • 在多个 cpp 文件上使用类/结构/联合 C++

    我正在尝试在 C 中创建一个类 并且能够在多个 C 文件中访问该类的元素 我已经尝试了 7 种以上可能的方案来解决该错误 但均未成功 我研究过类前向声明 这似乎不是答案 我可能是错的 resources h class Jam public
  • 设置 NSDateComponents 会导致 NSDate 不正确

    我正在尝试获取当地时间为 21 00 的 NSDate 对象 不关心是哪一天 我对这个非常奇怪的结果感到摸不着头脑 NSCalendar calendar NSCalendar alloc initWithCalendarIdentifie