如何快速将“2017-07-11T06:52:15.948Z”转换为“JUL, 7 2017”

2023-12-08

我正在尝试将字符串转换为日期,然后再次将日期转换为字符串。

我在下面尝试过,但它给了我一个零值错误

let string = "2017-07-11T06:52:15.948Z"

let dateFormatter = DateFormatter()
let tempLocale = dateFormatter.locale // save locale temporarily
dateFormatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.date(from: string)!
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
dateFormatter.locale = tempLocale // reset the locale
let dateString = dateFormatter.string(from: date)
print("EXACT_DATE : \(dateString)")

然后我尝试通过分隔确切的字符串来仅使用没有时间的日期,如下所示

let string = "2017-07-11T06:52:15.948Z"
let dateonly = (string.components(separatedBy: "T"))[0]
let dateformatter = DateFormatter()
dateformatter.dateFormat = "yyyy-mm-dd"
dateformatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
let date = dateformatter.date(from: dateonly!)

print(date ?? "no date ")


dateformatter.dateFormat = "MMM d, yyyy" //Your New Date format as per requirement change it own
let newDate = dateformatter.string(from: date!) //pass Date here
print(newDate)

这很好用。但告诉我错误的月份

希望你能帮忙


出于参考目的,我从以下位置获取了答案here用于附加毫秒SSS

只需更改日期格式

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"

to

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

完整代码

   let string = "2017-07-11T06:52:15.948Z"
    let dateFormatter = DateFormatter()
    let tempLocale = dateFormatter.locale // save locale temporarily
    dateFormatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    let date = dateFormatter.date(from: string)!
    dateFormatter.dateFormat = "MMM d, yyyy" ; //"dd-MM-yyyy HH:mm:ss"
    dateFormatter.locale = tempLocale // reset the locale --> but no need here
    let dateString = dateFormatter.string(from: date)
    print("EXACT_DATE : \(dateString)")

output

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何快速将“2017-07-11T06:52:15.948Z”转换为“JUL, 7 2017” 的相关文章

随机推荐

  • Java 8 中方法引用的外部参数

    我希望将外部参数传递给方法引用 String prefix The number is numbers forEach Main printWithPrefix private static void printWithPrefix Int
  • 保护目录免遭直接 URL 访问

    需要一些帮助 我需要保护所有的FOLDERS in a DIRECTORY from direct URL使用权 我可以这样做吗 htaccess如果是 怎么办 或者他们是更安全的方法 这是我的情况 我允许用户上传 pdf 文件 文件发送至
  • MySQL - 组内计数器

    我想根据升序变量为组中的每一行添加一个计数器 我有一个解决方案 但如果组内的某些变量相等 它就不起作用 CREATE TABLE tb g CHAR 1 x INTEGER INSERT INTO tb g x VALUES a 1 a 2
  • 如何使用JNA回调

    我正在使用 JNA 调用 dll 文件的函数 简单DLL h typedef int stdcall eventCallback unsigned int id int value namespace test class hotas pu
  • 在 ARM 资源组中运行的 Webrole 云服务

    到目前为止 我对使用 WebRoles 或 Worker Roles 进行 PaaS 部署的理解 旋转Web角色或工作者角色将创建云服务来管理它 然而 在ARM资源组中 他们没有云服务的概念 那么在ARM资源组中如何管理Web和Worker
  • 如何更改 Microsoft.AspNet.Identity.EntityFramework.IdentityUser 中的 id 类型

    ASP NET MVC 5 EF6 VS2013 我正在想办法将 Id 字段的类型从 string 更改为 int在类型中 Microsoft AspNet Identity EntityFramework IdentityUser 以便让
  • 决策树分类器抛出 KeyError: 'log_loss'

    我使用sklearn的决策树 通常有log loss classifier DecisionTreeClassifier random state 42 class weight balanced criterion log loss cl
  • NSLog 显示前一个日期

    我想检索两个日期之间添加的核心数据中的所有条目 我正在使用NSPredicate 由于我没有得到正确的结果 我尝试记录日期 它显示了以前的日期 在谷歌搜索一段时间后 我添加了 dateFormatter setTimeZone NSTime
  • 将 UITabBar 定位在顶部

    我是 iOS 开发的初学者 我的问题是 是否可以将 UITabBar 放置在顶部以及如何放置 我无法将 UITabBar 放置在视图的顶部 是否可以 当然可以 但它违反了人机界面准则 截图 Code TabController h impo
  • 如何更改 ggplot2 中特定几何图形的大小?

    我有一个包含 2 层的 ggplotgeom point and geom line如下所示 gp lt ggplot data mtcars aes x disp y hp geom point size 3 geom line size
  • 如何在 HTML5 的画布中复制形状?

    我正在尝试使用 HTML5 构建一个半复杂且水平对称的形状 当我试图完成它时 我意识到如果我可以复制一半形状 镜像它并移动它以将两个图像连接在一起会更容易 我正在寻找如何镜像和移动形状的示例 但没有找到如何复制它的示例 显然 我希望不需要两
  • 加载配置文件时,Selenium 测试需要几分钟才能启动

    我只是想弄清楚是否有其他人看到他们的 Selenium 测试在将配置文件加载到 FirefoxDriver 时运行速度明显变慢 需要 2 分钟以上才能启动 如下所示 Selenium 是 Firefox 的默认配置文件 上述帖子的问题发起者
  • 关于dispatch_queue、重入和死锁的澄清

    我需要澄清如何dispatch queues 与重入和死锁有关 阅读这篇博文iOS OS X 上的线程安全基础知识 我遇到了这句话 所有调度队列都是不可重入的 这意味着如果 您尝试在当前队列上进行dispatch sync 那么 可重入和死
  • Python asyncio:处理可能无限的列表

    我有以下场景 Python 3 6 输入数据是从文件中逐行读取的 协程将数据发送到 API 使用aiohttp 并将调用结果保存到 Mongo 使用motor 所以有很多 IO 发生 代码是用async await 并且对于手动执行的单个调
  • PHP 保护 PDF 和 DOC

    我正在努力提供 pdf and doc文件发送给网站上的授权用户 用户只能在登录时看到文件选择页面 但这并不能阻止未经授权的用户在知道完整 URL 的情况下查看文档 如何防止未经授权的用户访问这些文件 答案很简单 Jonnix 在我打字时发
  • 如何通过一个请求更新数组对象的多个字段?

    id xxxxstoreid store products id xxxproductid name xxx img url 由于我无法预测更新请求 参数可能只有名称 也可能两者都有 这是我的查询 它更新成功 但如果参数中不存在其他字段 它
  • 如何使用 sympy 图的标记参数?

    同情者plot命令有一个markers范围 markers 指定所需标记类型的字典列表 字典中的键应该相当于 matplotlib 的plot 函数的参数以及与标记相关的关键字参数 我该如何使用markers范围 我失败的尝试范围包括 fr
  • bis_skin_checked="1" 是什么意思?使用 chrome 代码源视图时,它显示在我的大多数元素上?

    我很困惑 我不知道 chrome AKA 版本 73 的最新更新是否只是故意集成了此属性 但我得到了一个奇怪的属性 我没有添加到我的网页中 我想知道这意味着什么铬合金 铬浏览器 边缘浏览器 我应该关心这个吗 它仅在 Chrome 上显示 遗
  • SVG 图案和渐变在一起

    有没有办法使用过滤器或 SVG 中的任何方法将图案和渐变一起应用于元素 我不想创建重复的元素 任何形状 来实现此目的 它是维护开销 下图是我的预期输出的示例
  • 如何快速将“2017-07-11T06:52:15.948Z”转换为“JUL, 7 2017”

    我正在尝试将字符串转换为日期 然后再次将日期转换为字符串 我在下面尝试过 但它给了我一个零值错误 let string 2017 07 11T06 52 15 948Z let dateFormatter DateFormatter let