模拟NSDateFormatter进行测试

时间:2020-11-04 10:25:46

标签: ios swift nsdateformatter

有什么方法可以模拟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

0 个答案:

没有答案