Изменения формата даты при отправке данных в SftpClient с помощью Renci.SSHNet

Я пытаюсь отправить строки строки на удаленный SFTP-сервер.

Я использую SftpClient с Renci.SSHNet.

Вот как я строю свои строки строки:

row = string.Format("{0},{1},{2},{3:dd/MM/yyyy HH:mm:ss},{4:dd/MM/yyyy HH:mm:ss},{5:dd/MM/yyyy HH:mm:ss},{6},{7},{8},{9},{10},{11}", queue_id, queue_name, taskId,
customRow.createdTime.AddSeconds(secondsAdd), first_handled_date_and_time.AddSeconds(secondsAdd), customRow.closedTime.AddSeconds(secondsAdd),
task_work_time_in_s, after_task_work_time_in_s, queuing_time_in_s, is_handled_within_service_level, task_status_description, handling_time);

Это мой код для загрузки строк:

using (SftpClient sftp = new SftpClient(con))
{
    try
    {
        if (sftp.IsConnected)
            sftp.Disconnect();

        sftp.OperationTimeout = TimeSpan.FromTicks((TimeSpan.TicksPerMinute * 5));
        sftp.Connect();
        sftp.WriteAllLines(filePath, content, encoding);
    }
    .
    .
    .
}

Содержимое поля представляет собой массив строк из предыдущей части кода.

Моя основная проблема заключается в том, что формат даты в полученном файле — дд/мм/гггг для первого столбца и мм-дд-гггг в двух других столбцах даты.

Может кто-нибудь объяснить мне это или сказать, что я делаю неправильно?

заранее спасибо


person itzick binder    schedule 30.06.2020    source источник


Ответы (1)


Возможно, десериализатор даты по умолчанию использует американский формат месяца/дня/года с некоторой обработкой крайних случаев, когда вы записываете его в обратном порядке (и он может сказать, например, когда месяц 13-31).

08.06.2006 - означает 06 августа 2006 г. для вас, но 08 июня 2006 г. для десериализатора. Может быть, он сможет понять, что 21.06.2006 означает 21 июня 2006 года, потому что 21 не может быть месяцем.

Попробуйте отформатировать с помощью 3 M, чтобы избежать путаницы. дд/ммм/гггг

person ShanieMoonlight    schedule 30.06.2020