使用 Renci.SSHNet 向 SftpClient 发送数据时日期格式发生变化

Date Format Changes While Sending Data to SftpClient With Renci.SSHNet

我正在尝试将字符串行发送到远程 SFTP 服务器。

我正在使用 Renci.SSHNet 的 SftpClient。

这就是我构建字符串行的方式:

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);
    }
    .
    .
    .
}

字段内容是前面代码部分的行数组。

我的主要问题是到达的文件中的日期格式是第一列的 dd/MM/yyyy 和其他 2 个日期列的 MM-dd-yyyy。

谁能给我解释一下,或者告诉我我做错了什么?

提前致谢

可能日期反序列化器默认为 U.S。 month/day/year 的格式,当你向后写时有一些边缘情况处理(它可以告诉,即当月份是 13-31 时)。

06/08/2006 - 对你来说是 2006 年 8 月 6 日,但对解串器来说是 2006 年 6 月 8 日。 也许它可以弄清楚 06/21/2006 表示 21-Jun-2006 因为 21 不可能是月份。

尝试使用 3 M 的格式以避免混淆。 dd/MMM/yyyy