gpt4 book ai didi

iphone - 从保存在 sqlite 数据库表中的日期中检索月份部分以显示月份数据

转载 作者:行者123 更新时间:2023-12-03 18:39:43 33 4
gpt4 key购买 nike

希望每个人都做得很好:)

我已经从保存在 sqlite 数据库中的日期开始检索月份。首先,我要感谢一些指导我将日期正确插入到 sqlite 数据库表中的专家,即以下格式:

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

我已经在 Controller 页面中显示了所有数据,包括日期,比如“查看提醒”页面。

现在我有一个 View Controller 供用户查看月份,比如如果用户从选择器 View 中选择月份“一月”,它将导航到 View Controller ,在该 Controller 中显示与所选月份相对应的提醒。

我之前对如何访问从选择器 View 中选择的字符串值感到震惊,以便我们可以使用查询:
"SELECT * FROM reminders WHERE Grp = '%@'",appDelegate.groupString

在应用程序委托(delegate)文件中声明 groupString 的位置,在存在选择器 View 的 View Controller 中分配一个值,并在显示 View 中使用上述查询访问该字符串

这是我发现的解决方案 here .现在我正在尝试为检索日期做同样的事情,即只需将查询写为:
"SELECT * FROM reminders WHERE Date = '%@'",appDelegate.monthString

它不起作用,因为日期保存在@“yyyy-MM-dd HH:mm:ss”中。所以我通过各种链接对此进行了研究,我尝试了以下方法:
"SELECT * FROM reminders WHERE MONTH like 'January %'" ETC..

但正如我所提到的,选择的字符串必须引用该值,因此使用:
MONTH like '%@',appDelegate.monthString "SELECT * FROM reminders WHERE strftime('%m', Date) = '%@'",appDelegate.monthString
走过 sqlite日期数据类型和 This Link

他们都没有工作

众所周知,我们有一个直接的查询来检索特定月份的所有提醒:
"SELECT * FROM reminders WHERE Date BETWEEN '2012-01-01' AND '2012-01-31'"

效果很好,但我需要引用 一月、二月、三月 (从选择器 View 中选择)等..作为日期的引用字符串,我不知道如何从日期获取月份部分。是否有任何查询要从日期中检索月份部分,比如 2012-01-01 作为一月或一些其他在那个特定的上下文中......

请帮助我,提前谢谢大家:)

编辑:

我已将显示格式更改为仅月份后跟日期,即:
ReminderClass *remin = [[ReminderClass alloc]init];
remin.Date = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)]autorelease];

NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:remin.Date];
[dateFormat setDateFormat:@"MMMM dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;

但在我们这样做之前,我们需要编写用于检索数据的 sql 查询,即:
sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE ????",appDelegate.monthString];

问号是我需要的,再次感谢:)

最佳答案

您可以使用 dateFormat 从日期检索月份:

NSDate *今天 = [NSDate 日期];

NSDateFormatter *monthFormat = [[NSDateFormatter alloc] init];
[monthFormat setDateFormat:@"MM"];

关于iphone - 从保存在 sqlite 数据库表中的日期中检索月份部分以显示月份数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725685/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com