【问题标题】:Converting EDT time to Local Time in Objective C在 Objective C 中将 EDT 时间转换为本地时间
【发布时间】:2014-11-20 12:43:35
【问题描述】:

在我的项目中,我们需要将服务器发送时间 (EDT) 转换为本地时间并显示在 UI 上。我编写了以下代码,在模拟器中似乎运行良好,但在设备上显示为空白。

由于安全限制,在我的公司 USBV 访问被禁用,所以我不能直接在设备上调试它。PFB 我正在使用的代码..

NSDateFormatter *formatSelectedTime = [[NSDateFormatter alloc] init];

[formatSelectedTime  setDateFormat:@"EEE MMM dd HH:mm:ss zzz yyyy"];

    NSTimeZone *sourceTimezone =[NSTimeZone timeZoneWithAbbreviation:@"EDT"];
    NSTimeZone *destinationTimeZone = [NSTimeZone localTimeZone];
    formatSelectedTime.timeZone = sourceTimezone;
    NSDate *filledDateInEDT = [formatSelectedTime dateFromString:fillsDetails.tradeDetails.filledTimeStr];


    formatSelectedTime.timeZone = destinationTimeZone;
    NSString *filledTimeInLocalString  = [formatSelectedTime stringFromDate:filledDateInEDT];

【问题讨论】:

  • 你有没有弄清楚是哪一步导致了“空白”结果??
  • (很可能是输入日期与您的日期格式不匹配。或者您很可能会被“NSDateFormater 语言环境功能”所吸引。)
  • 举一个你试图解析的字符串的例子。另外,什么是“USBV”?
  • 对不起,我在谈论USB端口,我在一家银行工作,这里的一切都受到限制..大多数时候我只会在模拟器上工作,很少有机会直接调试在设备上..

标签: objective-c nstimezone


【解决方案1】:

不知道为什么我的帖子被否决了,但我发现了问题所在。我使用自定义字体作为我用来显示转换时间的标签,由于某种原因,它在模拟器上正确显示,但在设备上却没有显示。我重新添加了字体,一切正常......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2013-10-29
    • 2016-01-14
    • 2013-01-01
    • 2018-07-27
    相关资源
    最近更新 更多