当前位置: 首页 > 面试题库 >

如何处理多种日期格式?

百里疏珂
2023-03-14
问题内容

当我到达下面的df.date()行时,使用此格式的日期时应用程序崩溃2016-12-27 14:40:46 +0000

致命错误:解开Optional值时意外发现nil

我也看到了这一点:

错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

我有可以采用这种格式的字符串

12/27/2016

但有时采用这种格式

2016-12-27 14:40:46 +0000

这是在上述格式下崩溃的代码段:

let mydate = "12/27/2016" //this works but not the longer format
let df = DateFormatter()
df.dateFormat = "MM/dd/yyyy" //this is the format I want both dates to be in
newDate:Date = df.date(from: mydate)

如何使用基本一个功能处理两种格式?


问题答案:

检查日期字符串是否包含斜杠,并相应地设置日期格式

if mydate.contains("/") {
    df.dateFormat = "MM/dd/yyyy"
}  else {
    df.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
}


 类似资料:
  • 问题内容: 我有一个Java组件来格式化检索的日期。这是我的代码: 只要String具有以下格式,该代码就可以很好地工作 我的问题是,如何调整此代码,使其适用于以下场景,例如,我的字符串可能具有如下值 现在,如果我不通过短信,它将失败。 问题答案: 如果图案中有可选部件,则可以使用和。 例如 盖

  • 问题内容: 我正在尝试解析文档中的某些日期。看来用户已经以类似但并非确切的格式输入了这些日期。 格式如下: 尝试解析所有这些的最佳方法是什么?这些似乎是最常见的,但是我想让我感到困扰的是,如果我的模式“ M / yyyy”永远不会在“ MM / yyyy”之前出现,我是否必须设置try / catch块以最小限制嵌套到最大限制方式?看来肯定会花费很多代码重复才能实现此目的。 问题答案: 你需要为每

  • 问题内容: 我有三个日期格式:,,。 是否可以验证和解析诸如or或or之类的字符串? 问题答案: 尝试每种格式,看看是否有效:

  • 我有一个带有varchar2列(my_column)的表(我的表),该列以几乎所有已知的日期格式灌输可能是日期的数据。比如dd/mm/yyyyy mm/dd/yyyy ddMONyyyy ddmmyyyyy yymmddmm.dd.yydd/mm/yyyy hh: 24: ss mm-dd-yyyy等等。它还可能包含一个免费的文本数据,可能是数字或文本。我需要最快的方法将其检索为日期,如果它不能匹

  • 我正在尝试用varchar列中的更新日期列 这里,是varchar数据类型,是日期数据类型。有多种类型的日期格式,例如,09302012, 9/30/2012, 2012-09-30和更多不同的类型 如何编写单个查询以在单个查询中使用各种类型的日期格式更新列。 已编辑::: 抱歉搞砸了...我刚刚意识到这些是ssis包中的单独(部分)更新... 我们有不同类型(6)的品牌,每个品牌都会发送不同日期

  • 问题内容: 有没有一种简单的方法可以将一种日期格式转换为PHP中的另一种日期格式? 我有这个: 但是我当然希望它返回一个当前日期,而不是返回“黎明”。我究竟做错了什么? 问题答案: 第二个参数必须是正确的时间戳(自1970年1月1日以来的秒数)。您正在传递一个字符串,date()无法识别。 您可以使用 strtotime() 将日期字符串转换为时间戳。但是,即使strtotime()也无法识别格式