Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Swift中仅在下午12:00之前获取时间_Swift_Nsdateformatter - Fatal编程技术网

如何在Swift中仅在下午12:00之前获取时间

如何在Swift中仅在下午12:00之前获取时间,swift,nsdateformatter,Swift,Nsdateformatter,如何识别temp是否在12:00 PM之前 let temp = dateFormatter.date(from: 2017-10-10 23:34:00) 最好的选择是使用每个用户在自己的设备中定义的日期格式化程序和日历。在这种情况下,您可以这样显示日期: let temp1 = dateFormatter.date(from: 2017-10-10 23:34:00) dateFormatter.dateFormat = "a" dateFormatter.amSymbol = "AM"

如何识别
temp
是否在
12:00 PM之前

let temp = dateFormatter.date(from: 2017-10-10 23:34:00)

最好的选择是使用每个用户在自己的设备中定义的
日期格式化程序
日历
。在这种情况下,您可以这样显示日期:

let temp1 = dateFormatter.date(from: 2017-10-10 23:34:00)

dateFormatter.dateFormat = "a"
dateFormatter.amSymbol = "AM"
dateFormatter.pmSymbol = "PM"

let temp2 = dateFormatter.string(from: temp1)

if(temp2.contains("AM")){
     // your function
}else{
     // your function
}
您只需执行以下操作:

let nowTime = Date()
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .medium
dateFormatter.calendar = Calendar.current
let time = dateFormatter.string(from: nowTime)
print(time) // output -- 12:14:32 PM

检查
hour>=12
是否为中午12点或更晚。

如果您只需要使用“a”作为格式,那么如果a等于a,我如何执行函数。mI表示如果小时在{0,1,2,3,4,5,6,7,8,9,10,11}范围内,您不需要24小时时钟中的“hh:mm”,而{12,13,14,15,16,17,18,19,20,21,22,23}可以被认为是PM.小菜一碟。您可以将其进一步缩短为
Calendar.current.component(.hour,from:date)
,但这是正确的答案-没有理由重新设置日期格式并在输出中搜索某些内容。
let hour = Calendar.current.component(.hour, from: date)