date

  • 15 Jul

    Can you use the date in a file name to create the subdirectory?

    Q: Can you use the date in a file name to create the subdirectory? So, when moving the attached file, we would like to create a sub-directory of:

    C:\Users\niall\WindowsDatabase\Destination\Valuation\2021\06. Jun\ ,

    Where ‘2021\06. Jun\’ is derived from the name of the source file? Thinking if we can pull a date variable/parameter from the filename we could pass it into the directory set-up. I can’t see how to get there.

    A: Yes this is possible using some Pascal Script.

    We received the following filename from the customer: ‘Valuation_2021-06-21.csv’. We’ll use this in the following example but remember we can adjust the script for any other filename you might have.

    1.Using a Windows folder as Source:

    Limagito File Mover Windows Folder as Source

    2.Open our ‘Pascal Script’ option:

    Limagito File Mover Pascal Script Menu

    3. Add  and enable the following ‘On Destination’ Pascal Script:

     

    Var
      tmpDate: TDateTime;
      tmpDatePart: String;
      tmpList: TStringList;
     
    Function GetDateFromString(const aInput: String): TDateTime;
    var
      wYear, wMonth, wDay: Word;
    Begin
      wYear := StrToInt(Copy(aInput, 1, 4));
      wMonth := StrToInt(Copy(aInput, 6, 2));
      wDay := StrToInt(Copy(aInput, 9, 2));
      Try
        Result := EncodeDate(wYear, wMonth, wDay);
      Except
        Result := 0;
      End;
    End;
     
    Begin
      // Valuation_2021-06-21.csv
      psExitCode:= 0;
      // ... add your code here
      tmpList := TStringList.create;
      Try
        tmpList.delimiter := '_';
        tmpList.DelimitedText := psFileName;
        If tmpList.Count >= 2 Then
        Begin
          tmpDatePart := tmpList.Strings[1];
          psLogWrite(1, '', 'DatePart from File ' + psFilePath + psFileName + ': ' + tmpDatePart);
          tmpDate := GetDateFromString(tmpDatePart);
          // 2021\06. Jun\
          If Not (tmpDate = 0) Then
          Begin
            psVSA := FormatDateTime('YYYY', tmpDate);
            psVSA := psVSA + '\' + FormatDateTime('DD', tmpDate);
            psVSA := psVSA + '. ' + FormatDateTime('MMM', tmpDate) + '\';
            // Debug        
            psLogWrite(1, '', 'Result psVSA: ' + psVSA);
            psExitCode := 1;
          End
          Else
            psLogWrite(1, '', 'GetDateFromString Error, ' + tmpDatePart);
        End
        Else
          psLogWrite(1, '', 'Count FileName _ Parts Error, ' + psFileName);
      Finally
        tmpList.free;
      End;
    End.

    Limagito File Mover Pascal Script

    4. Adjust the ‘Create Subdir option’ to %VSA in your Destination Setup. We used a Windows folder as Destination in our example.

    Limagito File Mover Destination Setup

    5. RunTime Log Result:

    Limagito File Mover RunTime Log

    #FileTransfer

    If you need any info about this ‘date in a file name to create the subdirectory’ feature, please let us know.

    Best regards,

    Limagito Team

  • 29 Dec

    Q&A 35: What are the Date & Time parameters that we can use?

    Q: What are the Date & Time parameters that we can use?

    A:

    https://limagito.com/w-or-ww-datetime-week-parameter-v10-6-27-0/

    https://limagito.com/weekoftheyear-w-or-ww-parameter/

     

    If you need any help with our ‘Date & Time parameters’, please let us know.

    Best Regards,

    Limagito Team

    By Limagito Q&A , ,
  • 27 Jun

    ‘w’ or ‘ww’ DateTime week parameter (v10.6.27.0)

    In version v10.6.27.0 we’ve added a week DateTime parameter. We already support a lot of other parameters.

    DateTime Parameter Options:

    w
    Displays the week without a leading zero (1-53).

    ww
    Displays the minute with a leading zero (01-53).

    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
    Displays the year in the current period/era as a number without a leading zero (Japanese, Korean, and Taiwanese locales only).

    ee
    Displays the year in the current period/era as a number with a leading zero (Japanese, Korean, and Taiwanese locales only).

    g
    Displays the period/era as an abbreviation (Japanese and Taiwanese locales only).

    gg
    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.