powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевести string в DateTime
8 сообщений из 33, страница 2 из 2
Перевести string в DateTime
    #39781123
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zinpubValery_B,

А вот Америка пишет - MM/DD/YYYYВидел такой часто установленным по-умолчанию.

А еще вот:

авторThe following forms were available in earlier versions of InterBase and are still permitted in InterBase 6 and later:
'mm-dd-yy' 'mm-dd-yyyy' 'mm/dd/yy' 'mm/dd/yyyy'
'mm dd yy' 'mm dd yyyy' 'mm:dd:yy' 'mm:dd:yyyy'
'dd.mm.yy' 'dd.mm.yyyy'
http://docwiki.embarcadero.com/InterBase/XE7/en/Casting_Date/time_Data_Types
(это и фаерберда касается)
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781124
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BЗначит надо сделать так, что бы в америке писали YYYY MM DDИ перешли на метрическую систему
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781125
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Valery_BЗначит надо сделать так, что бы в америке писали YYYY MM DDИ перешли на метрическую системуИ заставить, наконец-то, англичан и японцев перейти на правостороннее движение!!!
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781129
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_И перешли на метрическую систему
YuRockИ заставить, наконец-то, англичан и японцев перейти на правостороннее движение!!!
Я знал, что у меня есть единомышленники.

Только не на метрическую систему, а на систему Си (не путать с С++)
Что градусы в цельсиях мерили.
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781133
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
var
 s:String;
begin
 s:=SysUtils.ShortDateFormat+Chr(13)+Chr(10)+
       SysUtils.LongDateFormat+Chr(13)+Chr(10)+
       SysUtils.DateSeparator;
 ShowMessage(s);
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781140
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock_Vasilisk_пропущено...
И перешли на метрическую системуИ заставить, наконец-то, англичан и японцев перейти на правостороннее движение!!!
Да и вообще чтоб по-русски говорили, а то лопочут фигню какую-то
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781206
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_Bна систему Си (не путать с С++)

тогда уж СИ

мы же нге пишем Сша и Ссср
...
Рейтинг: 0 / 0
Перевести string в DateTime
    #39781210
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
function StrToDateTime(Text: string; Default : TDateTime = 0): TDateTime;
var
  YY,MM,DD    : WORD;
  HH,NN,SS    : WORD;
  MS          : double;
  S           : string;
  Pars        : TStringDynArray;
begin
  Result:=Default;
  if length(Text)=0 then Exit;

  Text:=DeQuoteStr(Text);
  Pars:=SplitString(Text,'/ -T.:');

  if length(Pars)<3 then Exit;
  if length(Pars)>7 then Exit;

  HH:=0;
  NN:=0;
  SS:=0;
  MS:=0;
  case length(Pars) of
    3: begin
      // YYYY MM DD
      if (Length(Pars[0])=4) and (Length(Pars[1])=2) and (Length(Pars[2])=2) then begin
        YY:=StrToIntDef(Pars[0],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[2],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
      // DD MM YYYY
      if (Length(Pars[0])=2) and (Length(Pars[1])=2) and (Length(Pars[2])=4) then begin
        YY:=StrToIntDef(Pars[2],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[0],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
    end;
    5: begin
      // YYYY MM DD HH NN
      if (Length(Pars[0])=4) and (Length(Pars[1])=2) and (Length(Pars[2])=2) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[0],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[2],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
      // MM DD YYYY HH NN
      if (Length(Pars[0])=2) and (Length(Pars[1])=2) and (Length(Pars[2])=4) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[2],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[0],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
    end;
    6: begin
      // YYYY MM DD HH NN SS
      if (Length(Pars[0])=4) and (Length(Pars[1])=2) and (Length(Pars[2])=2) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[0],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[2],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        SS:=StrToIntDef(Pars[5],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
      // MM DD YYYY HH NN SS
      if (Length(Pars[0])=2) and (Length(Pars[1])=2) and (Length(Pars[2])=4) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[2],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[0],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        SS:=StrToIntDef(Pars[5],0);
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
    end;
    7: begin
      // YYYY MM DD HH NN SS ZZZZ
      if (Length(Pars[0])=4) and (Length(Pars[1])=2) and (Length(Pars[2])=2) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[0],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[2],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        SS:=StrToIntDef(Pars[5],0);
        MS:=StrToIntDef(Pars[6],0)/Power(10,length(Pars[6]))/24/3600;
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
      // MM DD YYYY HH NN SS ZZZZ
      if (Length(Pars[0])=2) and (Length(Pars[1])=2) and (Length(Pars[2])=4) and (Length(Pars[3])=2) and (Length(Pars[4])=2) then begin
        YY:=StrToIntDef(Pars[2],0);
        MM:=StrToIntDef(Pars[1],0);
        DD:=StrToIntDef(Pars[0],0);
        HH:=StrToIntDef(Pars[3],0);
        NN:=StrToIntDef(Pars[4],0);
        SS:=StrToIntDef(Pars[5],0);
        MS:=StrToIntDef(Pars[6],0)/Power(10,length(Pars[6]))/24/3600;
        Exit(EncodeDate(YY,MM,DD)+EncodeTime(HH,NN,SS,00)+MS);
      end;
    end;
  end;
end;
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевести string в DateTime
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]