線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1336
推到 Plurk!
推到 Facebook!

TDateTime問題

尚未結案
july
一般會員


發表:18
回覆:17
積分:7
註冊:2003-07-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-06 18:00:28 IP:220.130.xxx.xxx 未訂閱
請問各位大大...    TDateTime       dtRoundCreateTime; dtRoundCreateTime = TDateTime("1900/1/1");    若系統日期時間格式設定為中華民國曆, 或是日期分隔符號設為”/” 則執行到上面那行code就會出錯,    所以想請問各位大大... 有沒有什麼方法或api 是可以將系統日期時間設定為西曆且格式為”yyyy/MM/dd”?    感激不盡
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-06 20:21:25 IP:211.22.xxx.xxx 未訂閱
use "SetSystemTime" Windows API, check out below url:
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-06 23:59:00 IP:221.169.xxx.xxx 未訂閱
july:試試看下面的範例:
Unit1.h檔
private:        // User declarations
  AnsiString __fastcall GetsysShortDateFormat();
  AnsiString __fastcall GetsysLongDateFormat();
Unit1.cpp檔
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Edit1->Text=GetsysShortDateFormat();  // 目前系統短日期格式
  Edit2->Text=GetsysLongDateFormat();   // 目前系統長日期格式
}
//---------------------------------------------------------------------------
AnsiString __fastcall TForm1::GetsysShortDateFormat()
{
  // 目前系統短日期格式
  AnsiString sgs;
  sgs.SetLength(12);
  GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SSHORTDATE ,sgs.c_str(),12);
  return sgs;
}
AnsiString __fastcall TForm1::GetsysLongDateFormat()
{
  // 目前系統長日期格式
  AnsiString sgs;
  sgs.SetLength(12);
  GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SLONGDATE ,sgs.c_str(),12);
  return sgs;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  // 更改短日期格式
  AnsiString str;
  str = "yyyy/MM/dd"; // 要更改的格式
  if (SetLocaleInfoA(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, str.c_str()))
    ShowMessage("更改短日期格式成功");
  Edit1->Text=GetsysShortDateFormat();
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button3Click(TObject *Sender)
{
  // 更改長日期格式
  AnsiString str;
  str = "yyyy/MM/dd";  // 要更改的格式
  if (SetLocaleInfoA(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE, str.c_str()))
    ShowMessage("更改長日期格式成功");
  Edit2->Text=GetsysLongDateFormat();
}
yyyy/MM/dd 也可以 yyyy-MM-dd 看妳高興。
請參考!
Andy Chang
------
Andy Chang
july
一般會員


發表:18
回覆:17
積分:7
註冊:2003-07-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-12 15:11:01 IP:220.130.xxx.xxx 未訂閱
感謝上面二位大大... 已經可以了耶,謝謝囉~ 很感恩^^
系統時間:2024-05-02 11:53:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!