前言

  1. public class NSTimeZone : NSObject, NSCopying, NSSecureCoding
  • NSTimeZone 表示时区信息。

1、NSTimeZone 时区的创建

  1. // 根据时区名称创建
  2. let zone1:NSTimeZone? = NSTimeZone(name: "America/Chicago")
  3. // 根据时区缩写创建
  4. let zone2:NSTimeZone? = NSTimeZone(abbreviation: "EST")
  5. // 根据零时区的秒数偏移量创建,+28800 为 GMT+8,即北京时间(+8)
  6. let zone3:NSTimeZone = NSTimeZone(forSecondsFromGMT: +28800)

2、NSTimeZone 时区的设置

  1. // 设置默认的时区
  2. NSTimeZone.setDefaultTimeZone(NSTimeZone(name: "America/Chicago")!)
  3. let defaultZone = NSTimeZone.defaultTimeZone()
  4. let systemZone = NSTimeZone.systemTimeZone()
  5. // 本地时区可以被修改,而系统时区不能修改
  6. let localZone = NSTimeZone.localTimeZone()
  7. // NSCalendar 设置时区
  8. let calendar:NSCalendar = NSCalendar.currentCalendar()
  9. // 设置时区,设置为 GMT+8,即北京时间(+8)
  10. calendar.timeZone = NSTimeZone(abbreviation: "EST")!
  11. // 设置时区,设置为 GMT+8,即北京时间(+8)
  12. calendar.timeZone = NSTimeZone(forSecondsFromGMT: +28800)
  13. // NSDateFormatter 设置时区
  14. let formatter:NSDateFormatter = NSDateFormatter()
  15. formatter.timeZone = NSTimeZone(forSecondsFromGMT: +28800)

3、NSTimeZone 时区的获取

  1. // 获取系统时区
  2. let systemZone = NSTimeZone.systemTimeZone()
  3. // 获取本地时区
  4. let localZone = NSTimeZone.localTimeZone()
  5. // 获取默认时区
  6. let defaultZone = NSTimeZone.defaultTimeZone()

4、获取时区的名称

  1. // 获取所有已知的时区名称
  2. let zoneNames = NSTimeZone.knownTimeZoneNames()
  3. // 获取指定时区的名称
  4. let localZoneName = NSTimeZone.localTimeZone().name

5、获取时区的缩写

  1. // 获取所有已知的时区缩写
  2. let zoneAbbreviations = NSTimeZone.abbreviationDictionary()
  3. // 获取指定时区的缩写
  4. let localZoneAbbreviation = NSTimeZone.localTimeZone().abbreviation
  5. // 获取指定时间所在时区名称缩写
  6. let dateLocalAbbreviation = NSTimeZone.localTimeZone().abbreviationForDate(NSDate())

6、获取与零时区的间隔秒数

  1. let zone = NSTimeZone.localTimeZone()
  2. // 获取当前时区与零时区的间隔秒数
  3. let seconds1 = zone.secondsFromGMT
  4. // 获取指定时间所在时区与零时区的间隔秒数
  5. let seconds2 = zone.secondsFromGMTForDate(NSDate())

7、时区差值转换

  1. // 得到当前时间(世界标准时间 UTC/GMT)
  2. var date:NSDate = NSDate()
  3. // 设置系统时区为本地时区
  4. let zone:NSTimeZone = NSTimeZone.systemTimeZone()
  5. // 计算本地时区与 GMT 时区的时间差
  6. let second:Int = zone.secondsFromGMT
  7. // 在 GMT 时间基础上追加时间差值,得到本地时间
  8. date = date.dateByAddingTimeInterval(NSTimeInterval(second))

iOS - Swift NSTimeZone 时区的更多相关文章

  1. iOS - OC NSTimeZone 时区

    前言 @interface NSTimeZone : NSObject <NSCopying, NSSecureCoding> NSTimeZone 表示时区信息. 1.NSTimeZon ...

  2. NSDate|NSTimeZone|时区|日历

    NSDate,NSDateFormatter以及时区转换-开发者-51CTO博客 iOS 时区转换 东八区 - 简书 iOS时间的时区转换以及一些方法记录 - 简书 iOS - OC NSTimeZo ...

  3. iOS - Swift NSCalendar 日历

    前言 public class NSCalendar : NSObject, NSCopying, NSSecureCoding NSCalendar 对世界上现存的常用的历法进行了封装,既提供了不同 ...

  4. iOS swift的xcworkspace多项目管理(架构思想)

    iOS  swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...

  5. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  6. ios swift 实现饼状图进度条,swift环形进度条

    ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...

  7. Building gRPC Client iOS Swift Note Taking App

    gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...

  8. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  9. iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK

    iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言:    今天给大家 ...

随机推荐

  1. html5 canvas 笔记三(绘制文本和图片)

    绘制文本 fillText(text, x, y [, maxWidth])   在指定的(x,y)位置填充指定的文本,绘制的最大宽度是可选的. strokeText(text, x, y [, ma ...

  2. React-Native入门指导之iOS篇

    React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事 ...

  3. Docker CPU 资源限制——CPU分片功能测试

    之前的一篇随笔——Docker CPU 资源限制 中介绍了针对COU的某个或某几个核的控制,今天介绍下CPU分片功能,即CPU占比. 测试步骤 1.下载CPU测试image.agileek/cpuse ...

  4. svn down代码的时候提示“由于目标计算机积极拒绝,无法连接”

    如上图所示: 原因1:svn没有启动成功 原因2:防火墙没有svn的端口号3690 解决方法: 1.启动svn服务 svnserve -d -r svn路径   例如:svnserve -d -r / ...

  5. 如何在ecshop订单中显示客户给商家的留言

    ecshop后台->订单管理->订单打印 在你想要加入的位置加入 客户给商家的留言:{$order.postscript} ok啦,很简单咯

  6. AR专用汉明码

    增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像.视频.3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动. ...

  7. Xcode中设置按钮在十分钟之内禁用

    btn.enabled=NO;` NSTimer * notificationTimer = [NSTimer scheduledTimerWithTimeInterval:10*60.0 targe ...

  8. c# UDP通信

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. Linux vim的安装和配置:

    1:首先就碰到一个问题 程序 'vim' 已包含在下列软件包中: * vim * vim-gnome * vim-tiny * vim-athena * vim-gtk * vim-nox 请尝试:s ...

  10. Axure一点

    自己的感受:非常的考脑,上课要集中120分精神. Axure(快速制作网页原型) 1:全局变量:a:在菜单栏中可以新建全局变量. b:控制全部网页. c:取到输入框的值,设置User的值等于输入框的值 ...