【问题标题】:how to convert indian time into London time如何将印度时间转换为伦敦时间
【发布时间】:2014-06-13 07:59:12
【问题描述】:

如何以编程方式将印度时间转换为英国时间? 示例:印度时间:1.30 转换为英国时间:9.00

提前谢谢你。

【问题讨论】:

  • 无论是印度还是英国,时间都是一样的。您需要使用带有适当时区信息的 NSDateFormatter 对其进行格式化。
  • 我不知道你能告诉我我该怎么做吗?

标签: ios iphone objective-c nstimezone


【解决方案1】:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd hh:mm:ss a";
NSTimeZone *timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:timeZone];
NSString *strTime = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"strTime :%@",strTime);

【讨论】:

  • 谢谢哥们,它工作得很好,但你能告诉我它只适用于英国吗?我们将为其他国家做什么?
  • @user3140414,单击复选标记接受此答案。至于转换为其他时区,您只需更改分配 timeZone 的行以使用所需的目标时区。
【解决方案2】:

您需要使用 NSDateFormatter 的 setTimeZone 方法。 请检查: Convert NSDate from GMT+0 (London) to User's TimeZone

【讨论】:

    【解决方案3】:

    获得它的最佳方式:

       //First get second from GMT
        NSTimeInterval timeZoneOffset = [[NSTimeZone defaultTimeZone] secondsFromGMT];//Here you can use TimeZone as per your requirement 
       //Get time difference 
        NSTimeInterval gmtTimeInterval = [your_date timeIntervalSinceReferenceDate] - timeZoneOffset;
        //Finally get your date
        NSDate *timeZoneDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2011-02-02
      • 2015-12-12
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 2012-01-01
      相关资源
      最近更新 更多