|
안녕하세요 hongfox입니다.
프로그램에서 하는 방법은 도움말에 있습니다.
도움말에보면 이런 내용이 있습니다.
[Currency and date/time formatting variables]에서
extern PACKAGE AnsiString ShortMonthNames[12];
extern PACKAGE AnsiString LongMonthNames[12];
로 Global변수로 기본적으로 System에 있는 설정 내용이 들어가게 되어 있습니다.
그런데 이 내용을 특정한 값으로 변경하고자 한다면 이곳에 원하는 내용으로
변경하면 됩니다.
즉, System에서는 Date : 2002 01월29일 10:10:10로 되에 있다고 가정하면
ShortMonthNames[0]는 "01월"이 들어가게 됩니다.
그러므로 아래와 같이 작업하신 후 사용해보세요.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString astr;
astr.SetLength(30);
ShortMonthNames[0]="Jan";
ShortMonthNames[1]="Feb";
ShortMonthNames[2]="Mar";
ShortMonthNames[3]="Apr";
ShortMonthNames[4]="May";
ShortMonthNames[5]="Jun";
ShortMonthNames[6]="Jul";
ShortMonthNames[7]="Aug";
ShortMonthNames[8]="Sep";
ShortMonthNames[9]="Oct";
ShortMonthNames[10]="Nov";
ShortMonthNames[11]="Dec";
astr = FormatDateTime("dd mmm yyyy hh:mm:nn", Now());
}
참고:질문내용에서 Date Format에서 월을 Oct로 Display를 원하므로
FormatDateTime에서 월을 mmm으로 해야 합니다.
만일 October로 하고자 한다면 LongMonthNames[12]에 다시
위와 같이 월을 변경해야 합니다.
LongMonthNames[0] = "January";
.................
LongMonthNames[11] = "December";
astr = FormatDateTime("dd mmmm yyyy hh:mm:nn", Now());
FormatDateTime에서 월을 mmmm으로 해야 합니다.
즐프하세요......
김상구.패패루 님이 쓰신 글 :
: 빌더의 TDateTime에서는 직접적으로 제어하는 방법이 없습니다.
: 왜냐하면, OS의 Locale설정의 영향을 받기 때문이죠.
: 좀 귀찮기는 하지만 time.h를 인클루드 해서 스텐다드 C로 처리할 수 있습니다.
: 도움말을 조금 참조해 보시면 금방 해결 될겁니다.
:
: 이학균 님이 쓰신 글 :
: :
: : 안녕하세요..
: :
: : SMTP를 써서 간단한 메일 보내기 프로그램을 만들고 있는데
: :
: : 시간 부분에서 막히네요...
: :
: : Date: 23 Oct 81 11:22:33
: : 이런 식으로 결과가 나와야 되는데
: :
: : FormatDateTime("dd mmmm yy hh:mm:nn", Now())
: : 이렇게 하면은
: : 23 10월 81 11:22:33
: : 이런 식으로 나오네요..
: :
: : 10월을 Oct로 고쳐야 하는데.. 어떻게 고쳐야 하죠?
: :
: : 부탁드려요..
: :
|