从 NSString 转换为 NSDate 时日期发生变化

2023-12-22

我正在 NSDateFormatter 的帮助下将 NSString 转换为 NSDate。现在,代码在具有设备和模拟器的所有操作系统中都可以正常工作,但它在英国、美国地区创建不同的输出。这是我正在使用的代码。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *dateString=[NSString stringWithString:@"2010-09-05 04:00:00"];

NSDate *dateObj = [dateFormatter dateFromString:dateString];

实际日期是 : 2010-09-05 04:00:00

美国输出 : 2010-09-04 21:00:00 -0700

问题似乎出在时区/区域设置的某个地方,但不知道解决方案。 我也尝试过:

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

但无法摆脱这个问题。

是否有任何简单的方法可以从 NSString 获取 NSDate 作为字符串实际表示的内容,而不受 TimeZone 的影响。我只想获取 NSString 中出现的 NSDate,日期和时间没有变化。有什么办法吗? 提前致谢。


这取决于您如何再次输出日期。如果您使用 NSDateFormatter,您将得到相同的结果。如果您只是通过调用输出日期[date description]由于包含有关本地时区的信息,输出会有所不同。

正确的用法是:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *dateString=[NSString stringWithString:@"2010-09-05 04:00:00"];

NSDate *dateObj = [dateFormatter dateFromString:dateString];

NSString* finalDateString =  [dateFormatter stringFromDate:dateObj];
[dateFormatter release];

Output:

2010-09-05 04:00:00

我已经在几个时区测试了这段代码。

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

从 NSString 转换为 NSDate 时日期发生变化 的相关文章

  • CGContextSetLineWidth(context, 1) - 宽度几乎总是至少 2 像素而不是 1

    With CGContextSetLineWidth context 1 宽度几乎总是至少 2 像素而不是 1 QQCandleStickLayer m id init self super init if self nil self de
  • iPhone 4G 拍照时应用程序崩溃?

    我已从我的设备中拍摄照片并调整图像大小并将其设置到我的图像视图框架 但我的应用程序在拍摄照片后有时会崩溃 使用调整大小 现在我已经用 iPhone 4G 拍了这张照片 仅当许多应用程序在后台运行 多任务 时 应用程序才会崩溃 那么我该如何解
  • 在 Xcode 4.2 中启用崩溃日志符号

    我使用的是 Xcode 4 2 我的崩溃日志没有被符号化 如何在 Xcode 4 2 中启用此功能 请浏览苹果的文档 http developer apple com library ios technotes tn2151 index h
  • 使用Apple80211 api时如何知道OPEN、WPA、WPA2、WEP等安全类型?

    Cydia中的Wifi WiFi FoRum等wifi扫描应用可以知道安全类型 使用 Apple80211 api 时 应用程序如何知道 OPEN WPA WPA2 WEP 等安全类型 CAPABILITIES 的值为 1057 1025
  • 如何根据给定的 NSDate 生成方便的日期范围?

    我正在 Cocoa 中创建一个报告生成器 我需要生成方便的日期范围 例如 今天 本周 本月 今年 等 有没有好的方法可以做到这一点 到目前为止 这是我的骨架 interface DateRange NSObject NSDate start
  • UICollectionViewFlowLayout IOS的​​minimumLineSpacing属性

    对于UICollectionViewFlowLayout的属性minimumLineSpacing 苹果的文档说 对于垂直滚动网格 该值表示最小值 连续行之间的间距 对于水平滚动的网格 该值表示连续列之间的最小间距 我测试它和代码的一部分是
  • iPhone en_* 子语言本地化

    我想在我的 iphone 应用程序中将字符串本地化为 en GB 和其他 en 子语言 但 XCode 和 iphone 拒绝让这种情况发生 我已经为 en GB 和 en US 创建了 Localized strings 的本地化 我尝试
  • 以点值检测 iPhone 6/6+ 屏幕尺寸

    鉴于新发布的 iPhone 6屏幕尺寸 http www apple com iphone compare iPhone 6 1334h 750w 2x in points 667h 375w iPhone 6 1920 1080 3x i
  • 关闭 iPhone 网络应用程序

    我想关闭或最小化 隐藏 全屏 iPhone Web 应用程序 这个怎么做 window close 不起作用 你不能 您无法从 JavaScript 中退出浏览器 但你可以尝试让浏览器崩溃 但这并不是一个好主意
  • 无法禁用 CALayer>>removeFromSuperlayer 的动画

    我希望从其超级层中删除 CALayer 而无需设置动画 这里发生的事情是图层动画到一个位置 效果很好 但是当动画停止时 执行此代码 将图层返回到其开始位置 并淡出 大概然后从超级层中删除 如何阻止它动画 removeFromSuperlay
  • 如何以编程方式创建选项卡栏

    大家好 我有基于导航的应用程序 其中我也需要在视图之一中实现选项卡栏 在一个视图中我需要 5 个选项卡 有人可以建议我以编程方式创建选项卡栏吗 每个选项卡应导航到另一个 xib 建议始终受到赞赏 问候 以下是 Apple 提供的用于以编程方
  • 帮助在 UIWebView 中使用 Javascript 代码

    我想在 webView 中运行以下代码 以便内容可编辑 javascript document body contentEditable true document designMode on void 0 到目前为止 我已经尝试过这个 v
  • Flipboard 动画

    有谁知道如何构建像 Flipboard 应用程序一样的翻转动画 谢谢 如果你指的是翻页过渡 请查看我编写的 OpenGL 过渡类 https github com epatel EPGLTransitionView https github
  • iOS 5 UIView drawRect 覆盖在设备上不起作用

    我正在准备在 iOS 5 GM 上发布我的 iPhone 应用程序 并遇到了 UIView 的错误 当我在子类上重写 drawRect 方法时 模拟器会显示所需的结果 但当我尝试在实际设备上测试时 drawRect 重写根本没有任何效果 我
  • 从设备获取联系人列表时出现问题

    这段代码有什么问题 NSMutableArray contactArray NSMutableArray alloc init ABAddressBookRef addressBook ABAddressBookCreate CFArray
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • 使用标识符启动 iPhone 应用程序

    我正在尝试在我的应用程序中启动应用程序 例如 如果我按下 testApp1 中的按钮 它应该打开 testApp2 有没有办法用应用程序标识符来做到这一点 我听说过一种名为的未记录方法launchApplicationWithIdentif
  • 如何将nsmutable数组添加到sqlite数据库表中

    如何将nsmutablearray添加到sqlite数据库表中 有人可以帮我编码吗 您可以使用 for int i 0 i lt mutArray count i NSString string mutArray objectAtIndex
  • 移动物体而不实际接触物体

    我是 iPhone 开发的初学者 我一直在寻找这个问题的答案 但还没有找到任何东西 我想做的是允许用户移动对象而无需实际触摸该对象 他们可以触摸屏幕上的任何位置 并且当他们移动时 对象将从原来的位置向用户的方向移动移动但不会跳到他们的触摸位
  • 如何安全地重命名 iOS 分发配置文件?

    我几个小时前刚刚提交了我的第一个应用程序 现在处于 等待审核 状态 但我犯了一个错误 我已经命名了我的分配配置文件My Company Distribution Profile 我应该做的事情被命名为我的发行版配置文件My GAME Dis

随机推荐

  • 如何为 Visual Studio C++ 设置单元测试

    我无法弄清楚如何设置测试框架并使其可用视觉工作室2008 for C 大概是使用内置的单元测试套件 任何链接或教程将不胜感激 这一页 http gamesfromwithin com exploring the c unit testing
  • 具有多个不同图标的很棒的字体类

    我想创建带有多个图标的自定义 font awesome 类 即 2star 等级由 2 颗星和 3 颗空星组成 并排成一条线 彼此相邻 有没有办法在 CSS 中做到这一点 或者我必须使用具有多个 i class 的纯 html 解决方案 是
  • 从 FedEx 获取 OAuth 令牌以用于 Track API

    我正在尝试获取 OAuth 令牌来获得对某些 FedEx API 的授权访问权限 例如用于跟踪货件的 Track API 但我得到了401 NOT AUTHORIZED ERROR gt The given client credentia
  • 如何获取最后一个之前的元素?

    在量角器中 有 first and last 可用的方法ElementArrayFinder var elements element all by css myclass elements last elements first 但是 如
  • 比较两组字符串,返回不同的结果[重复]

    这个问题在这里已经有答案了 我运行这个command https i stack imgur com fojMC png在Python控制台中 为什么2个结果不同 gt gt gt S1 HelloWorld gt gt gt S2 Hel
  • 作为函数参数传递时如何停止评估 lisp 形式?

    我正在学习 Lisp 现在我正在尝试创建一个函数 该函数采用一些有效的 Lisp 形式作为参数 并返回一个在调用时执行 Lisp 形式的函数 例如 defun fn name action setf symbol function name
  • 点击按钮执行sql查询

    nw check php
  • 如何对 ngControl 用 @Self 修饰的反应式组件进行单元测试

    我通过注入 NgControl 编写了一个反应式组件 并使用 Self 装饰器进行装饰 我的问题与此类组件的单元测试有关 请看下面的代码 免责声明 我很快复制了代码并进行了一些内联更改 因此 这可能不是编译器满意的代码 我的反应组件 Com
  • 如何在 next.js 中渲染之前等待复杂的 redux-saga 操作流程完成?

    我在等待 一个操作流程 从开始到结束完成时遇到问题 该应用程序在客户端中照常工作 但在服务器端执行操作时它直到最后才完成 为了澄清这一点 我正确地使用了 next redux wrapper 和 next redux saga 因为当我使用
  • 忽略 __del__() 中打印到 stderr 的异常

    根据Python 2 7 文档 http docs python org 2 reference datamodel html 由于 del 方法在不稳定的情况下 调用时 执行期间发生的异常将被忽略 并且 警告会打印到 sys stderr
  • 如何关闭 SWI-Prolog 标志?

    我不确定 flags 是否是合适的术语 但是是否有办法将 swi prolog 程序配置为在完成查询时不输出 true 或 false 而是简单地打印出程序中确定的另一个语句 有一个工具可以定制这种行为 但它可能会涉及很多 我自己没有使用过
  • 是否可以使用networkx为每个节点绘制多种颜色的图形

    我想为空手道俱乐部图的节点和边缘着色 但有些节点有不止一种颜色 有没有办法在 python 中用多种颜色对节点进行着色 尤其是使用 networkx 我需要这样的东西 这是可以做到的 但可能需要大量工作才能获得您想要的确切结果 你可以从Ne
  • Gram-Schmidt正交化算法的计算复杂度

    Gram Schmidt 正交化算法的计算复杂度是多少 假设矩阵为m行和k列 计算正交化需要多少次操作 如果可能的话 我希望获得乘法和加法的确切次数 编辑 在我看来 运算总数 乘法 加法 是3 2k 2m 3 2mk k 2 2 k 2 我
  • ASP.NET Core Azure 应用服务 httpContext.Request.Headers["Host"] 值

    今天遇到奇怪的行为 我们使用 Azure 应用服务托管 asp net core 1 1 Web 应用程序 并使用路由到特定控制器或区域的子域 所以在我的 SubdomainConstraint IRouteConstraint 中我使用
  • Android 7 不允许我的 LetsEncrypt SSL 证书

    我将 nginx 与我自己的 SSL 证书链一起使用 但我在 android 7 上遇到了问题 我不明白这个解决方案 https community letsencrypt org t android doesnt trust the ce
  • Razor 没有将我的“选定”值写入页面

    我设置了以下循环 它可以正确填充选择控件
  • 在 vi 中重复导航命令

    如何在 vi 中重复导航命令 例如我执行命令20j它将光标向下移动 20 行 我尝试点击 重复该命令 但它说 没有可重复的命令 附 另外 什么命令会转到文档的下一页 没有重复上一个导航命令的快捷方式 您必须重新输入它 或者设置您自己的某种快
  • 查找MySQL中同一列中两个值之间的差异

    我有一个名为 MySQL 的简单表 其中包含股价 Table share prices stock id price date 1 0 05 2010 02 24 01 00 00 2 3 25 2010 02 24 01 00 00 3
  • PySpark - 将 DF 列合并到命名的 StructType 中

    我希望将 PySpark 数据帧的多列合并到StructType 假设我有一个像这样的数据框 columns id dogs cats vals 1 2 0 2 0 1 df sqlContext createDataFrame vals
  • 从 NSString 转换为 NSDate 时日期发生变化

    我正在 NSDateFormatter 的帮助下将 NSString 转换为 NSDate 现在 代码在具有设备和模拟器的所有操作系统中都可以正常工作 但它在英国 美国地区创建不同的输出 这是我正在使用的代码 NSDateFormatter