暴简单系列之12: 日期空间时间格式?!

com235 2003-07-26 10:58:51
Label1->Caption = MonthCalendar1->Date

如上得到 “2003-7-6”
如何让上面格式日期变为“03年07月26日”??

设置属性方式或者程序转换方式均可!

谢谢指教。
...全文
53 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
我来看看CB 2003-07-27
TDateTime date1;
AnsiString str;

date1=Now(); // 取得现在时间

str=date1.FormatString("yyyy'年'mm'月'dd'日'");
  • 打赏
  • 举报
回复
梦回童年001 2003-07-26
lile sunmedia() but add year,monty,day,
  • 打赏
  • 举报
回复
sunmedia 2003-07-26
我在冒汗了,多给点分,让我去买饮料!!!
  • 打赏
  • 举报
回复
sunmedia 2003-07-26
AnsiString s, sYear, sMonth, sDay;
Word Year, Month, Day;
DecodeDate(MonthCalendar1->Date, Year, Month, Day);
// 处理年份
sYear = IntToStr(Year);
sYear = sYear.SubString(3,4);
// 处理月份
sMonth = IntToStr(Month);
if(sMonth.Length() < 2)
sMonth = "0" + sMonth;
// 处理日期
sDay = IntToStr(Day);
if(sDay.Length() < 2)
sDay = "0" + sDay;

s = sYear + "年" + sMonth + "月" + sDay + "日";

ShowMessage(s);

看看结果,是不是你想要的!:)
  • 打赏
  • 举报
回复
TDateTime::FormatString

/////////////////////////////////////////////////////////////////////////
Formats the TDateTime object using the format given by format.

AnsiString __fastcall FormatString(const AnsiString& format);

Description

The following format specifiers are supported:

Specifier Displays

c Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the fractional part of the DateTime value is zero.
d Displays the day as a number without a leading zero (1-31).
dd Displays the day as a number with a leading zero (01-31).
ddd Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable.

dddd Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.
ddddd Displays the date using the format given by the ShortDateFormat global variable.
dddddd Displays the date using the format given by the LongDateFormat global variable.
m Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mm Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.

mmm Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable.
mmmm Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable.
yy Displays the year as a two-digit number (00-99).
yyyy Displays the year as a four-digit number (0000-9999).
h Displays the hour without a leading zero (0-23).
hh Displays the hour with a leading zero (00-23).
n Displays the minute without a leading zero (0-59).

nn Displays the minute with a leading zero (00-59).
s Displays the second without a leading zero (0-59).
ss Displays the second with a leading zero (00-59).
t Displays the time using the format given by the ShortTimeFormat global variable.
tt Displays the time using the format given by the LongTimeFormat global variable.
am/pm Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

a/p Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
ampm Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.
/ Displays the date separator character given by the DateSeparator global variable.

: Displays the time separator character given by the TimeSeparator global variable.
'xx'/"xx" Characters enclosed in single or double quotes are displayed as is, and do not affect formatting.

If the string given by the format parameter is empty, the TDateTime value is formatted as if a c format specifier had been given.
  • 打赏
  • 举报
回复
Siney 2003-07-26
TDateTime now=Now();
String fstr="";
switch(frm->ListBox1->ItemIndex)
{
case 0:
fstr=now.FormatString("yyyy/mm/dd");
break;
case 1:
DateSeparator='/';
fstr=now.FormatString("yyyy/mm/dd");
DateSeparator='-';
break;
case 2:
fstr=now.FormatString("dddddd");
break;
case 3:
fstr=now.FormatString("dddddd dddd");
break;
case 4:
fstr=now.FormatString("mmmm");
break;
case 5:
fstr=now.FormatString("hh:nn am/pm");
break;
case 6:
fstr=now.FormatString("ampm h'µã'nn'·Ö'");
break;
}

上面代码的2和3可以做到本地化的日期格式,如果是中文系统就是你的要得格式,3还加入了星期
  • 打赏
  • 举报
回复
com235 2003-07-26
Label1->Caption = MonthCalendar1->Date

如上得到 “2003-7-6”
如何让上面格式日期变为“03年07月06日”??

设置属性方式或者程序转换方式均可!

谢谢指教
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ Builder

1.3w+

社区成员

C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
帖子事件
创建了帖子
2003-07-26 10:58
社区公告
暂无公告