Другие языки программирования и технологии
Как получить месяц как строку в Delphi
Нигде не могу найти ответ на этот вопрос! Простите за может глупый для Вас вопрос! Все таки сегодня прощенное воскресение!
Первое, что приходит в голову:
case MonthNo of
1: MonthName:='Январь'
2: MonthName:='Февраль'
3: MonthName:='Март'
{дальше мне писать лень. думаю принцип понятен}
else MonthName:='Неправильный месяц (';
end;
case MonthNo of
1: MonthName:='Январь'
2: MonthName:='Февраль'
3: MonthName:='Март'
{дальше мне писать лень. думаю принцип понятен}
else MonthName:='Неправильный месяц (';
end;
А, выбирайте что хотите:
Unit DateTime;
INTERFACE
Function GetDateString:String;
Function GetTimeString:String;
Function GetDateStringFromDt(Var Dt:DateTime):String;
Function GetDoWString:String;
Function GetDoYString:String;
Function GetYearString:String;
Function GetMonthString:String;
Function GetDayString:String;
Function GetMonthNameString:String;
IMPLEMENTATION
Function GetDateString:String;
Var
Y,M,D,DoW:Word;
S:String;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(D)+'/'+LeadZero(M)+'/'+LeadZero(Y);
GetDateString:=S;
End;
Function GetTimeString:String;
Var
Hour,Min,Sec,Hund:Word;
S:String;
Begin
S:='';
GetTime(Hour,Min,Sec,Hund);
S:=S+LeadZero(Hour)+':'+LeadZero(Min)+':'+LeadZero(Sec);
GetTimeString:=S;
End;
Function GetDateStringFromDt(Var Dt:DateTime):String;
Var
S:String;
Begin
S:='';
S:=S+LeadZero(Dt.Day)+'/'+LeadZero(Dt.Month)+'/'+LeadZero(Dt.Year);
Delete(S,Length(S)-3,2);
GetDateStringFromDt:=S;
End;
Function GetDoWString:String;
Const
Days : array [0..6] of String[9] =
('Sunday','Monday','Tuesday',
'Wednesday','Thursday','Friday',
'Saturday');
Var
Y, M, D, DoW : Word;
Begin
GetDate(Y,M,D,DoW);
GetDoWString:=Days[DoW];
End;
Function GetDoYString:String;
Const
Monthes:Array[1..12] of Word=(
31,28,31,30,31,30,31,31,30,31,30,31);
Var
Y,M,D,DoW:Word;
Count:Word;
DayOfYear:Word;
S:String;
Begin
GetDate(Y,M,D,DoW);
DayOfYear:=0;
For Count:=1 To M-1 Do
DayOfYear:=DayOfYear+Monthes[Count];
DayOfYear:=DayOfYear+D;
S:=IntToStr(DayOfYear);
If Length(S)=1 Then
S:='00'+S
Else
If Length(S)=2 Then
S:='0'+S;
GetDoYString:=S;
End;
Function GetYearString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(Y);
GetYearString:=S;
End;
Function GetMonthString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(M);
GetMonthString:=S;
End;
Function GetMonthNameString:String;
Const
Monthes : array [1..12] of String[9] =//Хы, а у Сишников есть еще и
// Нулябрь
('January','February','March',
'April','May','June',
'July','August','September',
'October','November','December');
Var
Y,M,D,DoW:Word;
Begin
GetMonthNameString:='';
GetDate(Y,M,D,DoW);
GetMonthNameString:=Monthes[M];
End;
Function GetDayString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(D);
GetDayString:=S;
End;
Begin
End.
Unit DateTime;
INTERFACE
Function GetDateString:String;
Function GetTimeString:String;
Function GetDateStringFromDt(Var Dt:DateTime):String;
Function GetDoWString:String;
Function GetDoYString:String;
Function GetYearString:String;
Function GetMonthString:String;
Function GetDayString:String;
Function GetMonthNameString:String;
IMPLEMENTATION
Function GetDateString:String;
Var
Y,M,D,DoW:Word;
S:String;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(D)+'/'+LeadZero(M)+'/'+LeadZero(Y);
GetDateString:=S;
End;
Function GetTimeString:String;
Var
Hour,Min,Sec,Hund:Word;
S:String;
Begin
S:='';
GetTime(Hour,Min,Sec,Hund);
S:=S+LeadZero(Hour)+':'+LeadZero(Min)+':'+LeadZero(Sec);
GetTimeString:=S;
End;
Function GetDateStringFromDt(Var Dt:DateTime):String;
Var
S:String;
Begin
S:='';
S:=S+LeadZero(Dt.Day)+'/'+LeadZero(Dt.Month)+'/'+LeadZero(Dt.Year);
Delete(S,Length(S)-3,2);
GetDateStringFromDt:=S;
End;
Function GetDoWString:String;
Const
Days : array [0..6] of String[9] =
('Sunday','Monday','Tuesday',
'Wednesday','Thursday','Friday',
'Saturday');
Var
Y, M, D, DoW : Word;
Begin
GetDate(Y,M,D,DoW);
GetDoWString:=Days[DoW];
End;
Function GetDoYString:String;
Const
Monthes:Array[1..12] of Word=(
31,28,31,30,31,30,31,31,30,31,30,31);
Var
Y,M,D,DoW:Word;
Count:Word;
DayOfYear:Word;
S:String;
Begin
GetDate(Y,M,D,DoW);
DayOfYear:=0;
For Count:=1 To M-1 Do
DayOfYear:=DayOfYear+Monthes[Count];
DayOfYear:=DayOfYear+D;
S:=IntToStr(DayOfYear);
If Length(S)=1 Then
S:='00'+S
Else
If Length(S)=2 Then
S:='0'+S;
GetDoYString:=S;
End;
Function GetYearString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(Y);
GetYearString:=S;
End;
Function GetMonthString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(M);
GetMonthString:=S;
End;
Function GetMonthNameString:String;
Const
Monthes : array [1..12] of String[9] =//Хы, а у Сишников есть еще и
// Нулябрь
('January','February','March',
'April','May','June',
'July','August','September',
'October','November','December');
Var
Y,M,D,DoW:Word;
Begin
GetMonthNameString:='';
GetDate(Y,M,D,DoW);
GetMonthNameString:=Monthes[M];
End;
Function GetDayString:String;
Var
S:String;
Y,M,D,DoW:Word;
Begin
S:='';
GetDate(Y,M,D,DoW);
S:=S+LeadZero(D);
GetDayString:=S;
End;
Begin
End.
Хм.. . А написать Date и нажать F1 никому не судьба?
FormatDateTime('mmmm', Today));
FormatDateTime('mmmm', Today));
Похожие вопросы
- Delphi получить scancode символа из строки 2
- Согласны с этим - Глубинные причины ненависти к Delphi/Pascal ?
- Delphi:Прочитал, что если при динамическом создании компонента если указать Name объекта, то в последующем можно ->
- как подсчитать количество слов в строке разделённым больше чем одним пробелом(Delphi)
- Delphi!? Дана строка 05:12, как преобразовать ее в тип Время???
- Как в Delphi 7 перенести в коде строку, превышено ограничение в 255 символов
- Помогите с задачей, пожалуйста! (Delphi) Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков "+" и "-
- Delphi. Строки. Почему не срабатывает программа.
- Как в Delphi сделать справку?
- Помогите найти ошибку Delphi легкая программка