`
简单的茶
  • 浏览: 87719 次
  • 性别: Icon_minigender_2
  • 来自: 昆明
社区版块
存档分类
最新评论

Objective-c 根据某一个时区的时间获取特定时区的时间

 
阅读更多
//获取默认时区的时间字符串
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *nowStr = [formatter stringFromDate:[NSDate date]];
    NSLog(@"now time without setting TimeZone\n Default TimeZone: %@, Local Time %@",[formatter timeZone], nowStr);

    NSDate *nowGMT = [formatter dateFromString:nowStr];
    NSLog(@"当地时间->标准时间%@",nowGMT);
    NSLog(@"标准时间->当地时间%@",[formatter stringFromDate:nowGMT]);
 
      
    //获取特定时区的时间字符串
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Adak"]];
    NSString *AmericanNow = [formatter stringFromDate:[NSDate date]];  
    NSLog(@"now time with certain timezone: %@ Local Time %@", [formatter timeZone], AmericanNow);
     
    NSDate *AmericanGMT = [formatter dateFromString:AmericanNow];
    NSLog(@"特定时区的时间->标准时间%@",AmericanGMT);
    NSLog(@"标准时间->特定时区的时间%@",[formatter stringFromDate:AmericanGMT]);
     [formatter release];



/*将系统默认时间转换称某个特别时区的时间[color=darkred][/color][size=x-large][/size]
     Step1:获取系统默认时间的时间字符串
    
     */
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];
    NSString *defaultNowStr = [dateFormatter stringFromDate:[NSDate date]];
    NSLog(@"获取系统默认时间的时间字符串%@", defaultNowStr);
   
   
    /*
     Step2:获取标准时间
     */
    NSDate *dateGMT = [dateFormatter dateFromString:defaultNowStr];
    NSLog(@"获取标准时间%@",dateGMT);
   
    /*将标准时间转换称特定时区的时间
     */
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Adak"]];
    NSString *localDateStr = [dateFormatter stringFromDate:dateGMT];
    NSLog(@"将标准时间转换称特定时区的时间%@",localDateStr);
  
    [dateFormatter release];

//将某个时区的特定时间转化称另一个时区的对应时间
/*
    该例子将时区Asia/Tokyo的2011-12-30 16:45:00转化为
    时区America/Adak的相应时间
*/
    NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
    [dateFormatter2 setDateFormat:@"yyyy-MM-dd HH:mm:SS"];
    NSString *fromTimeZone = [[NSString alloc] initWithString:@"Asia/Tokyo"];
    NSString *date_fromTimeZone = [[NSString alloc] initWithString:@"2011-12-30 16:45:00"];
   
    [dateFormatter2 setTimeZone:[NSTimeZone timeZoneWithName:fromTimeZone]];
    NSDate *dateOfGMT = [dateFormatter2 dateFromString:date_fromTimeZone];
    [fromTimeZone release];
    [date_fromTimeZone release];
   
    NSString *toTimeZone = [[NSString alloc] initWithString:@"America/Adak"];
    [dateFormatter2 setTimeZone:[NSTimeZone timeZoneWithName:toTimeZone]];
    NSString *dateStrDst = [dateFormatter2 stringFromDate:dateOfGMT];
    NSLog(@"dateStrDst %@", dateStrDst);
    [toTimeZone release];
   
   
     [dateFormatter2 release];

分享到:
评论

相关推荐

    IOS应用源码Demo-获取全球当前所有时区的当前时间TestTimeZone-毕设学习.zip

    "IOS应用源码Demo-获取全球当前所有时区的当前时间TestTimeZone-毕设学习.zip" 这个标题表明我们有一个iOS应用的源代码示例,其功能是获取并显示全球所有时区的当前时间。这个项目可能是为了一次毕业设计或者学习...

    iOS 计算两个时间的间隔,某个时间距离现在的天数

    在iOS中,NSDate对象表示一个特定的瞬间,精确到纳秒。为了计算两个日期之间的间隔,我们需要创建两个NSDate对象分别代表这两个时间点,然后使用NSTimeInterval,这是一个double类型,表示两个日期之间的时间差(以...

    经纬度计算日出日落C代码

    综上所述,"经纬度计算日出日落C代码"是一个涵盖地理学、天文学、计算机科学和工程实践的综合性项目,需要综合运用多种知识和技能。通过这个项目,开发者可以深入理解嵌入式系统开发、地理定位计算以及时间处理等...

    DateTools:收藏-DateTools 用于提高Objective-C中日期和时间相关操作的效率

    DateTools 是一个专门为Objective-C开发的库,旨在优化和简化日期和时间的操作,提升iOS和Mac应用中的处理效率。这个库被广泛应用于需要频繁进行日期处理的场景,比如日志记录、时间间隔计算或者用户界面的日期显示...

    新手入门常用的iPhone代码

    本文将围绕一个标题为“新手入门常用的iPhone代码”的主题进行展开,详细介绍其中提及的一些基本操作,包括字符串处理、日期与时间的管理、时区处理以及日历相关的操作等。这些知识点都是iOS开发中非常实用且经常...

    时间个性化设置

    `NSDate`是Apple的Foundation框架中的一个核心类,用于表示一个特定的日期和时间点,不考虑时区。 1. **时间间隔表示法** 在iOS和macOS开发中,为了实现“刚刚”、“5分钟前”这样的表述,我们需要计算当前时间与...

    判断当前时间是否在设定好的时间范围内

    接下来,我们需要设定一个时间范围。这可以通过创建两个`NSDate`对象来实现,分别代表时间段的开始和结束。例如,假设我们要设定一个从早上9点到下午5点的时间段: ```objc NSDateComponents *components = [...

    swift-DateHelper-NSDate在Swift中的便利扩展

    为了简化这些操作,开发者常常会创建一个便利扩展,例如"swift-DateHelper-NSDate在Swift中的便利扩展"项目,它为`NSDate`(Objective-C的日期表示类)提供了额外的方法,以便在Swift中更方便地使用。 DateHelper...

    file-time-test

    "file-time-test"这个主题聚焦于一个关键的文件属性——文件的修改时间。在操作系统中,每个文件都有一个时间戳,记录了该文件最后被修改、创建或访问的时间。这些时间戳对于追踪文件的变化、备份策略以及调试程序等...

    SunMoonCalc:日月计算

    "SunMoonCalc"项目就是这样一个实例,它专门用于处理星期日和月份的计算,对于理解日期和时间的处理,以及如何用Objective-C进行此类计算,具有很高的学习价值。 首先,我们需要理解日月计算的基本原理。在公历系统...

    c语言linux系统编程入门

    GCC不仅支持C语言,还支持C++、Objective-C等多种语言。 - **基本编译命令**: `gcc -o <output_file> <source_file>`,例如:`gcc -o hello hello.c`。这条命令将`hello.c`编译成名为`hello`的可执行文件。 - **常见...

    iPhone/iPad开发通过LocalNotification实现iOS定时本地推送功能

    首先,创建一个`UILocalNotification`对象是必要的起点。通过`alloc-init`方法初始化这个对象: ```swift let notification = UILocalNotification() ``` 或者在Objective-C中: ```objective-c ...

    OC-sleepUntilDate

    它不包含时区信息,只表示一个时间点。 `sleepUntilDate:`方法的签名如下: ```objc - (void)sleepUntilDate:(NSDate *)date; ``` 该方法接受一个NSDate对象作为参数,然后线程会休眠,直到指定的日期和时间到达。...

    NSDate,iphone显示时间,日期的方法集合

    它代表一个绝对时间点,与特定时区无关。本篇文章将深入探讨`NSDate`类以及如何在iPhone应用中显示日期和时间。 首先,创建或获取一个`NSDate`对象通常涉及到日期格式化。`NSDateFormatter`类在这里扮演了关键角色...

    Time.xcodeproj.zip

    标题中的"Time.xcodeproj.zip"可能是一个Xcode项目,专门用于演示或教学如何在Objective-C或Swift中使用时间相关的类和方法,特别是围绕`NSDate`对象。让我们深入探讨一下`NSDate`在处理时间时的关键知识点。 1. **...

    ios 不错的时间选择器

    在给定的标题“ios 不错的时间选择器”中,我们推测这里提供的是一个自定义的、性能良好的时间选择器替代方案,可能是为了提供更优的用户体验或满足特定设计需求。 描述中提到“自定义的类似于datepicker的选择器 ...

    ios-Swift版日期.zip

    1. **Date**: 表示一个特定的时间点,与任何特定时区、日历或格式无关。它是所有日期和时间操作的基础。 2. **Calendar**: 负责根据特定文化、地区和用户偏好对日期进行解析、比较和格式化。在Swift中,你可以创建...

    Datepiker_Timepiker _Demo

    【日期时间选择器】在IT领域中,是一个常见的用户界面组件,主要用于用户输入或选择日期和时间。在各种应用程序、网站或移动应用中,我们经常遇到这种交互元素,例如在填写表单时设置出生日期,或者预约某个时间的...

    IOS 开发APP之关于时间处理详细介绍

    `NSDate`对象代表时间线上一个不变的点,独立于任何特定的日历系统或时区。它以UTC为基准,从2001年1月1日00:00:00开始计算时间差。`NSDate`的`timeIntervalSinceReferenceDate`方法返回从参考时间到当前时间的秒数...

    iOS时间戳字符串NSDate转化demo.zip

    在iOS开发中,时间戳与NSDate对象之间的转换是常见的任务,因为时间戳是无格式的数字,便于存储和计算,而NSDate是Objective-C中的日期类,用于表示特定时刻。本项目"iOS时间戳字符串NSDate转化demo"提供了一个示例...

Global site tag (gtag.js) - Google Analytics