怎么样用程序来改变系统中日期与时间的显示样式!(100分)

  • 主题发起人 主题发起人 netwinds
  • 开始时间 开始时间
N

netwinds

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么样用程序来改变系统中日期与时间的显示样式!

比如当前日期的显示样式是: 01月23日2003年
时间显示样式是: 下午 2:22

我要把它改成 2003年01月23日 与 14:22 。要怎么处理呢?用哪个API函数?
 
FormatDateTime('yyyy年mm月dd日',Now);
FormatDateTime('hh:nn',Now);
//=============================================
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 date-time value indicates midnight precisely.
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.
e (Windows only) Displays the year in the current period/era as a number without a leading zero (Japanese, Korean and Taiwanese locales only).
ee (Windows only) Displays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only).
g (Windows only) Displays the period/era as an abbreviation (Japanese and Taiwanese locales only).
gg (Windows only) Displays the period/era as a full name. (Japanese and Taiwanese locales only).
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).
z Displays the millisecond without a leading zero (0-999).
zzz Displays the millisecond with a leading zero (000-999).
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.
 
全局变量,格式串如楼上所说
var ShortTimeFormat: string;
var LongTimeFormat: string;
var ShortDateFormat: string;
var LongDateFormat: string;

还有其他的一些
var CurrencyString: string;
var CurrencyFormat: Byte;
var NegCurrFormat: Byte;
var ThousandSeparator: Char;
var DecimalSeparator: Char;
var CurrencyDecimals: Byte;
var DateSeparator: Char;
var ShortDateFormat: string;
var LongDateFormat: string;
var TimeSeparator: Char;
var TimeAMString: string;
var TimePMString: string;
var ShortTimeFormat: string;

var LongTimeFormat: string;
var ShortMonthNames: array[1..12] of string;
var LongMonthNames: array[1..12] of string;
var ShortDayNames: array[1..7] of string;
var LongDayNames: array[1..7] of string;

var SysLocale: TSysLocale;
var EraNames: array[1..7] of string;
var EraYearOffsets: array[1..7] of Integer;
var TwoDigitYearCenturyWindow: Word = 50;

var TListSeparator: Char;
 
不是的。

我要改变的是系统中显示的样式,不是软件中的样式。

用软件运行后的结果应该与从控制面板中的“区域选项”中设置的结果是一样的才行。
 
setlocaleinfo(getthreadlocale,locale_sshortdate,'yyyy年mm月dd日');//设置短日期格式
setlocaleinfo(getthreadlocale,locale_sTimeFormat,'hh:mm:ss'); //设置时间格式
 
Enhences FormatDateTime by the additional Format tokens w, i, e and f.
function FormatDateTime(Form: string; DateTime: TDateTime): string;

Unit

JclDateTime

Parameters

Form: string

Form: String: Format String.

DateTime: TDateTime

DateTime: TDateTime: Date to be formatted

Return Value

String holding the formatted date.

Description

Enhences FormatDateTime by additional Format tokens:
Token Meaning
w or W Week no according to ISO
ww or WW Week no according to ISO forced two digits
ii or II Year of the ISO-week denoted by w forced two digits
iiii or IIII Year of the ISO-week denoted by w (4 digits for 0001..9999)
e or E Number of the Day in the ISO-week denoted by w (ISO-Notation 1=Monday...)
f or F Number of the Day in the year denoted by y
fff or FFF Number of the Day in the year denoted by y forced three digits
Notes

To activate this function JCLDateTime must appear after SysUtils in the uses clause or it must be explicitly denoted as JCLDateTime.FormatDateTime. The help for SysUtils.FormatDateTime does not state that unrecognized characters in the format string are passed unchanged. If this feature was erroneously used, JCLDateTime.FormatDateTime is not 100% compatible, as it defines additional tokens.

Quick Info

Donator: Michael Schnell
 
搞定,谢谢高手!
 
后退
顶部