德尔福有等价物吗?我查看了文档,找不到任何可以提供我想要的输出的东西。德尔福等效的.net的DateTime.ToString(“s”)(DateTime可排序)
回答
kdunlapmo,DateTime.ToString(“s”)函数返回一个可排序的日期/时间模式;符合ISO 8601.这种模式被声明为"yyyy-MM-ddTHH:mm:ss"
。不管文化如何,日期必须始终以相同的格式返回。您可以使用delphi中的FormatDateTime函数将TDateTime值格式化为字符串。
你可以使用这样的事情
FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', Now);
但由于-
字符由DateSeparator值取代和:
字符由TimeSeparator值取代你一定要小心,这两个变量都依赖于Windows的语言环境配置。所以为了避免在文化更改时得到不同结果的问题,您必须在格式字符串中使用明确的-
和:
字符。
FormatDateTime('yyyy"-"mm"-"dd"T"hh":"mm":"ss', Now)
看到此示例代码
program ProjectTestFormat;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
try
DateSeparator:='/';
TimeSeparator:='.';
//this string is affected by the windows locale configuration
Writeln(FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', Now));
//this string is not affected
Writeln(FormatDateTime('yyyy"-"mm"-"dd"T"hh":"mm":"ss', Now));
Readln;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
此外,您可以编写一个函数来的TDateTime类型值转换为可排序格式,请参见本样本
function GetSortableDatetimeFormat(Value:TDateTime):string;
begin
Result:=FormatDateTime('yyyy"-"mm"-"dd"T"hh":"mm":"ss', Value);
end;
优秀答案谢谢! – kirkdmo 2010-08-26 12:22:44
确实,辉煌的答案。 – 2010-08-26 16:25:28
小bug修复 - 正确的是:
结果:= FormatDateTime('yyy y“ - ”mm“ - ”dd“T”hh“:”nn“:”ss',Value);
(分钟为“NN”,而不是“MM”)
- 1. 德尔福HID Delphi7和德尔福XE2
- 2. 德尔福v.Word - 如何从德尔福
- 3. 德尔福与.NET的互操作性
- 4. 德尔福的TQuery
- 5. 德尔福(dbExpress的)
- 6. 德尔福 - 等效字符串列表框搜索的ListView
- 7. 等效的VB.NET WaitOne()&设置()在德尔福
- 8. 德尔福等效代码的C#提取嵌入式资源
- 9. 德尔福XE2程序集
- 10. 德尔福标签顺序
- 11. DES_KEY_SZ德尔福
- 12. 德尔福Application.HintColor
- 13. 德尔福
- 14. 德尔福
- 15. 与德尔福
- 16. 德尔福
- 17. 德尔福:TRegExpr
- 18. 类德尔福
- 19. 德尔福选择排序似乎向后排序
- 20. 解决中的TDataSetProvider德尔福2010年或德尔福2009年
- 21. 德尔福:退出后的视频德尔福6
- 22. 如何连接德尔福.NET对象
- 23. 转换德尔福System.Copy到.NET
- 24. 德尔福到.NET转换器
- 25. 德尔福管理的可用内存
- 26. 德尔福问题转换VirtualProtect的EAT挂钩程序从C到德尔福
- 27. 无效指针操作 - 德尔福XE
- 28. 德尔福toolbuttons剥离效果(TToolbutton)
- 29. 获取的LastAccessTime德尔福
- 30. 德尔福的Dropbox API?
由于许多Delphi开发者是不是在.NET的世界中知识渊博,你可能需要指定哪些“S”一样。 – 2010-08-26 04:58:59