如何在日期末尾添加序数后缀?
我正在使用 Delphi BDS2006 如何格式化日期(01/10/2011)看起来像 2011 年 10 月 1 日
我尝试使用 ShowMessage(FormatDateTime('ddd mmm yyyy', now));
我收到的消息是 Sat Oct 2011
ddd
给我 Sat
而不是1st
类似的方式我想将st,nd,rd,th
添加到日期
是否有内置的过程或函数来执行此操作或者我必须手动检查对于日期并为其分配后缀
我目前正在使用这个
case dayof(now)mod 10 of
1 : days:=inttostr(dayof(dob))+'st';
2 : days:=inttostr(dayof(dob))+'nd';
3 : days:=inttostr(dayof(dob))+'rd';
else days:=inttostr(dayof(dob))+'th';
end;
I'm using Delphi BDS2006 how can I format the date (01/10/2011) to look something like1st Oct 2011
I tried using theShowMessage(FormatDateTime('ddd mmm yyyy', now));
the message I get is Sat Oct 2011
ddd
gives me Sat
and not 1st
Similar way I want to add st,nd,rd,th
to the Dates
Is there a built in procedure or function to do this or I have to manually check for the date and assign the suffix to it
I'm currently using this
case dayof(now)mod 10 of
1 : days:=inttostr(dayof(dob))+'st';
2 : days:=inttostr(dayof(dob))+'nd';
3 : days:=inttostr(dayof(dob))+'rd';
else days:=inttostr(dayof(dob))+'th';
end;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Delphi 中没有内置任何东西来完成这种形式的一天。你必须自己做。像这样:
There's nothing built in to Delphi to do that form of day. You will have to do it yourself. Like this:
这是与区域设置无关的英语版本。 GetShortMonth 之所以存在,是因为
ShortMonthNames
获取月份缩写区域设置。Here's the locale independent English version of the same. GetShortMonth is there because
ShortMonthNames
takes the month abbreviations from the locale settings.