Delphi Inno设置:以本地格式指定日期

Delphi Inno设置:以本地格式指定日期,delphi,excel,locale,inno-setup,pascal,Delphi,Excel,Locale,Inno Setup,Pascal,我的应用程序使用Inno Setup创建一些注册表设置,这些设置稍后由Excel加载项读取。其中一个设置是日期 我要找的是一个函数(在Inno安装友好的Pascal中),它接受一个日期(格式化为字符串),并在任何运行它的计算机上使用本地系统日期格式输出它。差不多 function GetLocalVersionOfShortDate(dateString : String): String; begin // take dateString and convert/display it as

我的应用程序使用Inno Setup创建一些注册表设置,这些设置稍后由Excel加载项读取。其中一个设置是日期

我要找的是一个函数(在Inno安装友好的Pascal中),它接受一个日期(格式化为字符串),并在任何运行它的计算机上使用本地系统日期格式输出它。差不多

function GetLocalVersionOfShortDate(dateString : String): String;
begin
 // take dateString and convert/display it as local date
end;
输出应为带有本地日期分隔符的短日期格式

例如,我将“1980年1月20日”传递给此函数,它将返回“01/20/1980”(在美国)和“20/01/1980”(在法国)

你有什么想法吗?我觉得这很简单,但我对Pascal不够熟悉,无法自己编写代码


谢谢大家!

可以通过调用Windows库来实现这一点

检查INNO帮助文件中名为“Pascal脚本:使用DLL”的部分

备选案文1
您可以通过从Run部分运行可执行文件或通过使用Exec方法的函数来实现这一点。如果您只是编写注册表设置,那么这就足够了。然后,在可执行文件运行后,您可以通过定义自己的ssPostInstall方法将其删除。

Inno本机不支持任何日期函数栏“获取当前日期/时间”。不过,将日期存储为单个值(固定格式字符串或自XX以来的天数)不是更好吗?我不确定。固定格式字符串(“01/20/1980”)将是不同的日期,具体取决于区域设置。不,固定格式字符串将与区域设置无关且明确无误,例如,
yyyy-mm-ddThh:mm:ss
Ugh,我不确定这是我要找的。对于像本地日期格式这样的简单事情来说似乎很复杂。丑陋,是的,我知道。但是INNO除了GetDateTimeString函数外,没有任何可以处理date s的函数。我已经用另一种可能性修改了我的答案。我希望这对你更好。谢谢。我仍然不知道如何处理这个问题,但你的回答提供了一些选择。