問題1
A電腦保存資料,格式是:2021/4/19
B電腦保存資料,格式是:2021-04-19
結果就導致了,A電腦查詢不到B錄入的資料,B也查不到A錄入的資料。在不重新錄入的情況下,應該怎么解決?
問題2
能不能強制的,在錄入資料的時候,要求電腦的格式必須是2021-01-01這種格式,如果不是這個格式,就禁止錄入。或者是強制的把系統格式改成2021-01-01這樣。
uj5u.com熱心網友回復:
我的應用中參照網上例子修改的,應用啟動時修改系統時間格式,你看看能不能用:procedure TFormMain.MYSetDateTimeFormat;
const
i = 100;
var
Buf: PChar;
p: ^DWORD;
begin
GetMem(Buf, 100);
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, Buf, i);
// 取當前用戶設定,短日期格式。
if Trim(string(Buf)) <> 'yyyy/MM/dd' then
begin
SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, PChar('yyyy/MM/dd'));
// 設定短日期格式
// SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE, PChar('yyyy''年''M''月''d''日'''));
// 設定長日期格式為 yyyy'年'M'月'd'日',“年月日”字符必須用單引號括起來。Delphi字串里必須用兩個單引號。
SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, PChar('HH:mm:ss'));
// 設定時間格式,24小時制
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0, SMTO_ABORTIFHUNG, 10, @p);
// 設定完成后必須呼叫,通知其他程式格式已經更改,否則即使是程式自身也不能使用新設定的格式
end;
end;
uj5u.com熱心網友回復:
怎么會呢?日期時間在記憶體中的表示都是一致的,只是顯示格式因環境不同而不一致。資料庫都有日期時間的資料型別的,你使用字串來存盤日期時間了?uj5u.com熱心網友回復:
另:了解一下 System.SysUtils.FormatDateTime()函式。uj5u.com熱心網友回復:
問題1 :在系統初始化時,統一指定日期格式:
FormatSettings.ShortDateFormat := 'yyyy-mm-dd';
FormatSettings.DateSeparator := '-';
問題2
同問題1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/278267.html
標籤:數據庫相關
下一篇:主細表中修改日期時為什么出錯?