德爾福有等價物嗎?我查看了文檔,找不到任何可以提供我想要的輸出的東西。德爾福等效的.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