频道分类

delphi 批量日期格式化

作者:admin 来源: 日期:2020/6/25 10:05:51 人气: 标签:

 


var
  i: integer;
  vLine, vStr, vPart: string;
  vYear, vMonth, vDay: Word;
  vArr: TArray<string>;
  vDate: TDateTime;
begin
  Memo2.Clear;
  for i := 0 to Memo1.Lines.Count - 1 do
  begin
    vLine := Memo1.Lines[i];
    vStr := StringReplace(vLine, '.', '-', [rfReplaceAll]);
    vArr := vStr.Split(['-']);
    case Length(vArr) of
      2:
        begin
          vYear := StrToIntDef(vArr[0], 2020);
          vMonth := StrToIntDef(vArr[1], 1);
          vDay := 1;
          if not TryEncodeDateTime(vYear, vMonth, vDay, 0, 0, 0, 0, vDate) then
            vDate := now;
        end;
      3:
        begin
          vYear := StrToIntDef(vArr[0], 2020);
          vMonth := StrToIntDef(vArr[1], 1);
          vDay := StrToIntDef(vArr[2], 1);
          if not TryEncodeDateTime(vYear, vMonth, vDay, 0, 0, 0, 0, vDate) then
            vDate := now;
        end;
    else
      vDate := Now;
    end;
    Memo2.Lines.Add(FormatDateTime('YYYY-MM-DD', vDate));
  end;

end;

来源:

上一篇:Delphi 判断是否为空('None', 'Null', '')下一篇:没有资料