【问题标题】:Manipulate date format in Swift 3.0在 Swift 3.0 中操作日期格式
【发布时间】:2017-04-05 04:07:12
【问题描述】:

我在 UILabel 中有这个日期时间格式输出

datefrom.text = "2010-12-05 00:00:00"

但是我想把这个日期格式显示成这样的简单格式

2010 年 12 月 5 日或 2010 年 12 月 5 日

我使用此代码显示日期,但它显示的是今天的日期,即 2017 年 4 月 5 日

日期.swift

let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "d MMM yyyy"
let result = formatter.string(from:date)
datefrom.text = result 

有什么解决办法吗?

谢谢。

【问题讨论】:

  • 您必须首先使用与原始格式匹配的DateFormatter 将字符串转换为Date,然后使用您的第二种格式将Date 转换为新字符串。
  • 您可以在答案中发布代码吗?谢谢
  • 显然您需要调整 dateFormat 值以适应您的特定需求,而不是重复。

标签: swift date datetime


【解决方案1】:

DateFormatter 将帮助您做到这一点!

第 1 步:将字符串转换为日期类型

func convertStringToDate(string: String) -> Date? {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    return dateFormatter.date(from: dateString)
}

第 2 步:将日期转换为预期格式

func convertDateToString(date: Date) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "d MMM yyyy"
    return dateFormatter.string(from: date)
}

就是这样!

let dateString = "2010-12-05 00:00:00"

let date = convertStringToDate(string: dateString)
let result = convertDateToString(date: date!)

datefrom.text = result
// 5 Dec 2010

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2015-07-24
    • 2016-06-12
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多