有什么方法可以模拟Date
中当前的DateFormatter
?
我有以下代码,并且我希望能够控制当前日期以允许我控制结果。我的想法是重写.string(from: )
并以这种方式进行控制,但不确定这是否是最佳方法。
let dateFormatter = DateFormatter()
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .short
let dateString = dateFormatter.string(from: dateToConvert)
编辑1:如果当前设备日期与我要格式化的日期相同,则doesRelativeDateFormatting
将使结果为today
。我想知道的是,是否可以更改Date
使用的当前设备DateFormatter
。
编辑2:
第1天:Device Date
是4/11/2020,而dateToConvert
是4/11/2020,dateString = Today
第2天:如果我第二天再次运行测试,则Device Date
是5/11/2020,dateToConvert
仍然是4/11/2020,因为那个dateString = Yesterday
我的问题是结果将不断变化。到目前为止,我的两个选择是根据当前日期更改模拟API响应或更改DateFormatter