如何在Swift中通过SQLite获取前一天

如何在Swift中通过SQLite获取前一天,sqlite,Sqlite,我有一个包含许多日期的sqlite表。我想执行一个查询来选择那些日期为上一个日期的记录。我尝试了以下方法,但无效: SELECT SUM(Amount) AS TOTAL FROM (SpentAmount) Where Date ='\(Date().yesterday)'" 输出为:'2018-07-02 05:43:16+0000' 但我只想要日期和格式:'02-07-2018' 我正在尝试这样做:从SpentAmount中选择SUM(Amount)作为TOTAL,其中Date=Date

我有一个包含许多日期的sqlite表。我想执行一个查询来选择那些日期为上一个日期的记录。我尝试了以下方法,但无效:

SELECT SUM(Amount) AS TOTAL FROM (SpentAmount) Where Date ='\(Date().yesterday)'"
输出为:
'2018-07-02 05:43:16+0000'

但我只想要日期和格式:
'02-07-2018'

我正在尝试这样做:从SpentAmount中选择SUM(Amount)作为TOTAL,其中Date=Date('now','-1天')

但是这个查询没有结果

这是我的数据库
但是,当我执行查询时,给我这个

如果你想把目标定在昨天(即今天之前的日期),那么使用
date('now','-1days')


一般来说,您当前的日期格式非常不理想。按日期给你的桌子分类是很困难的。相反,您应该始终使用SQLite以ISO格式存储日期信息,即使用
2018-07-02
,而不是
02-07-2018

以前的日期是什么?昨天,还是前一个日期到其他日期?您如何存储日期?您是否将它们存储为
02-07-2018
?是的,这是我的日期格式2018年7月2日,是7月2日还是2月27日?不是一个好的格式。这应该在日期上工作,但如果需要精确的'02-07-2018'格式,我们可以使用STRFTIME,如STRFTIME('%d-%m-%Y',date('now','-1天'))更新问题,请check@CRDave看来你是对的。谢谢你的评论,我很感激。谢谢@TimBiegeleisen这个查询给我正确的结果再次感谢你Senior@CRDave也谢谢你,前辈
SELECT SUM(Amount) AS TOTAL
FROM SpentAmount
WHERE Date = STRFTIME('%d.%m.%Y', DATE('now', '-1 days'));