讓delphi程式不受WINDOWS日期格式的影響

2021-07-02 14:36:30 字數 741 閱讀 1172

如果windows系統的短日期格式為「yyyy/m/d」,執行下面的**會報錯:2013-01-29 00:00:00不是合法的日期

procedure tfrmquerysale.formshow(sender: tobject);

varsdate: string;

begin

inherited;

// 預設查當天的銷售資料

sdate := formatdatetime('yyyy-mm-dd', now);

datetimepicker1.datetime := strtodatetime(sdate + ' 00:00:00');

datetimepicker2.datetime := strtodatetime(sdate + ' 23:59:59');

find(trim(edtbillid.text), datetimepicker1.datetime, datetimepicker2.datetime);

edtbillid.setfocus;

end;

如何解決?

procedure tdmcommonfun.setsysdateformat;

begin

// 設定windows系統的短日期的格式

setlocaleinfo(locale_system_default, locale_sshortdate, 'yyyy-mm-dd');

xe2以上版本,**得改改:

**:

讓delphi程式不受WINDOWS日期格式的影響

如果windows系統的短日期格式為 yyyy m d 執行下面的 會報錯 2013 01 29 00 00 00不是合法的日期 procedure tfrmquerysale.formshow sender tobject var sdate string begin inherited 預設查當...

讓delphi程式不受WINDOWS日期格式的影響

如果windows系統的短日期格式為 yyyy m d 執行下面的 會報錯 2013 01 29 00 00 00不是合法的日期 procedure tfrmquerysale.formshow sender tobject varsdate string begin inherited 預設查當天...

讓delphi程式不受WINDOWS日期格式的影響

如果windows系統的短日期格式為 yyyy m d 執行下面的 會報錯 2013 01 29 00 00 00不是合法的日期 procedure tfrmquerysale.formshow sender tobject varsdate string begin inherited 預設查當天...