2017-02-27 54 views
0

我是新来的swift,我想将一个字符串分隔成一个数组。在我的情况下,字符串是“20170227”,我想将它放在像[2017,02,27]这样的数组中。我尝试过这样做,但代码太长了,我认为到目前为止它很复杂。检查一个字符串是否是当前日期

var date = "20170227" 
var Space: Character = " " 
let indexMain = date.index(date.startIndex, offsetBy: 4) 
date.insert(Space, at: indexMain) 

最终只返回2017 0227,所以我失去了......在此先感谢!

+0

你试图从一个字符串创建一个日期或只是将一个字符串分解成一个数组? –

+0

@SylvanDAsh我正在尝试检查字符串的日期是否与当前日期相同,因此我无法确定哪一个最适合使用 –

+0

似乎是这样的问题在一两个小时前被问过。感谢您发布一些代码!你有没有搜索任何地方(特别是SO)的答案?你想要做什么*特别是 - 将字符串作为日期与当前日期进行比较,或将一个字符串拆分为三个数组,或将一个字符串拆分为数组?根据你对ASylvanDAsh的回答,我在考虑第一个 - 在这种情况下,你的问题从你想要的完全不准确。请考虑编辑它。谢谢。 – dfd

回答

0

获得最新组件从你的评论,如果你想查询字符串,该日期比你可以用DateFormatter字符串转换为日期,然后用isDateInToday来检查当前日期日期是今天的日期。

var dateString = "20170227" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyyMMdd" 
if let date = dateFormatter.date(from: dateString), Calendar.current.isDateInToday(date) { 
    print("String date is today's date") 
} 
+0

正是我在找的! –

+0

@JohnDoodle欢迎伴侣:) –

0

您可以从给定的字符串

let dateString = "20170227" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "YYYYMMDD" 
let date = dateFormatter.date(from: dateString) 
let calendar = Calendar.current 
let dateComponents = calendar.dateComponents([.year, .month, .hour], from: date!) 
相关问题