gpt4 book ai didi

c++ - 如何根据当前语言环境格式设置在 SQLite 中格式化日期?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:37:03 24 4
gpt4 key购买 nike

我需要使用 LIKE 运算符匹配日期。日期应采用当前用户的本地格式,而不是通用格式。

所以我这样使用 strftime 函数:

WHERE strftime('%d.%m.%Y %H:%M', createdDate, 'localtime') LIKE '%{searchTerm}%'

不幸的是,这仅适用于固定格式 '%d.%m.%Y %H:%M'。但我想使用用户当前的语言环境格式。

所以我需要:1) 从 C++ 语言环境对象中获取 strftime 格式字符串2) 使 SQLite 使用当前语言环境本身格式化日期

为此已经花费了几个小时,但无济于事。如果有人能指出正确的方向来解决这个问题,我将不胜感激。

例子: 鉴于当前语言环境是德语,我想得到类似“%d.%m.%Y %H:%m”的信息。 对于美国语言环境,我想获得 "%m/%d/%Y %H:%m"

最佳答案

通常本地日期格式可以通过Windows获得GetDateFormat API(或 GetDateFormatEx Vista 的 API)。您的程序可以查询 API,然后相应地转换日期。之后,日期可以记录在 SQLite 中。

但是,once 可以质疑以特定格式存储时间戳的有效性。这基本上意味着有很多代码来操纵每个日期,或者根本没有日期操纵。我是否可以建议,如果可能的话,以纯格式存储(例如 ISO 或 UNIX 时间戳)并以此为基础,使用需要的任何一种 GetDateFormat 进行输出?

关于c++ - 如何根据当前语言环境格式设置在 SQLite 中格式化日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318788/

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