首页 > 其他分享 >iOS时区转换

iOS时区转换

时间:2023-07-10 21:11:49浏览次数:38  
标签:转换 iOS let 达拉斯 时间 时区 formatter

背景:我们开发的应用有可能会在国外使用,有一些业务又和时间有关,如果我们从手机上获取的时间不做处理直接使用就会有问题。

现象:北京时间2023年7月10号20:00开启秒杀活动,用户在美国达拉斯打开活动页面显示活动还没开始。

排查:应用服务器在北京,从服务器的日志中看达拉斯的用户请求时间竟然是上午7:00,相差了13个小时,那我们如何处理呢?

方案:

  1、我们在请求时带上时区参数,在服务器校正时间。

  2、客户端将达拉斯时间转成北京时间。

这个转换过程虽然是将达拉斯的用户手机时间加13个小时,但iOS时区转换和时间格式化很类似,代码如下:

static func dateToDetailString() ->String {
        let date = Date()
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        //转成北京时区下的日期
        let beijingZone = NSTimeZone(abbreviation:"GMT+0800")
        formatter.timeZone = beijingZone as TimeZone?
        let dateString = formatter.string(from: date)
        return dateString
}

  

 

标签:转换,iOS,let,达拉斯,时间,时区,formatter
From: https://www.cnblogs.com/adongdev/p/17542344.html

相关文章

  • 字符串转换
    ///<summary>///ushort[]转string///</summary>///<paramname="inUshort">ushort数组</param>///<returns>string字符串</returns>publicstaticstringUShortConvertToString(ushor......
  • Java 中怎样将 bytes 转换为 long 类型?
     将bytes转换为long类型:第一种方式:String接收bytes的构造器转成String,再Long.parseLong;但此种情况需要注意:字节数组中的每个字节都必须是有效的数字字符。如果字节数组包含非数字字符,则会引发NumberFormatException异常。确保在调用Long.parseLong......
  • 类型转换
    类型转换一些问题表达式计算并传参时的类型转换问题例子如下:#include<stdio.h>#include<stdint.h>intmain(){uint8_ta=254;uint8_tb=2;uint32_tc=a+b;printf("c=%d\n",(int)c);return0;}输出的结果为:$./a.outc=256隐式......
  • C# 怎么把空值转换为0
    原文链接:https://www.zzzyk.com/show/21a0aaa76b88192e.htm空值直接转换为int会报错,所以需要转换下,原文看起来比较乱,在此整理下:第一种:if((string.isnullorempty(this.textbox1.value)){      this.textbox1.value="0";} 第二种:int n = 0;int.TryParse(this.textBox......
  • 通用权限系统-Dozer对象转换
    Dozer对象转换介绍Dozer是一个JavaBean到JavaBean的映射器,它可以递归地将数据从一个对象复制到另一个。通常情况下,这些JavaBeans将是不同的复杂类型。Dozer支持简单的属性映射,复杂的类型映射,双向映射,隐式-显式映射,以及递归映射。这包括映射集合属性,这些集合属性也需要......
  • TS 一个类型的部分转换为可选
    typeWithPartial<T,KextendskeyofT>=Omit<T,K>&Partial<Pick<T,K>>;interfaceRequestOption{url:string,method:'GET'|'POST'|'PUT',headers:{[key:string]:string},body:st......
  • axios的使用熟悉理解+1
    今天向自己使用axios,配合springboot来写东西,我知道了axios.get写法需要后端如何写。axios.get('http://localhost:8080/emps',{params:{name:this.searchEmp.name,gender:this.sea......
  • 查字符类型转换date类型值时报错“ORA-00904: "GET_INTERNAL_VALUE": invalid identif
    问题描述:查字符类型转换date类型值时报错“ORA-00904:"GET_INTERNAL_VALUE":invalididentifier”,如下所示:数据库:oracle11.2.0.41、异常重现SYS@orcl>selectget_internal_value('DF2304290000748902')fromdual;selectget_internal_value('DF2304290000748902......
  • iOS开发入门 2 -基础篇:iOS 当中的集合类型
    今天继续昨天的内容,上一篇讲述了OC当中的基本数据类型,这次要讲的是OC当中的集合数据类型,NSArray(数组)NSDictionary(字典)NSSet(集合)这三种集合数据类型。一、NSArray和NSMutableArray1、NSArrayNSArray是一个集合数据类型,存储的对象必须为OC当中的对象类型(单数组中的数据类型不不......
  • iOS 开发入门 3-基础: iOS 视图控件 UIView
    相信大家通过前两篇文章已经大致了解了OC当中的数据组成部分,今天正式开始咱们iOS开发最主要的一个环节视图控件的使用.在正式开始讲解UIView之前我们需要先了解下什么是视图控件.其实视图控件的概念很好理解,比如说我们在打开某一应用的时候在手机上所看到的所有界面组成元素都是......