如何将日期以DD / MM / YYYY格式而不是DD / MM / YYYY格式输出到CSV文件中HH:MM:SS

时间:2019-06-26 19:20:31

标签: c# excel csv json.net csvhelper

此处非dev试图清除日期格式。寻找对承包商创建的C#代码的检查。

这是新代码,用于将JSON对象转换为CSV格式。承包商使用了Newtonsoft和Newtonsoft.Linq,还使用了CSVhelper函数。

string webData = System.Text.Encoding.UTF8.GetString(raw);

var records = JsonConvert.DeserializeObject<IList<JournalImport>>(webData, new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });

using (var writer = new System.IO.StreamWriter(journalsCsvSFD.OpenFile()))
using (var csv = new CsvHelper.CsvWriter(writer))

我当前的CSV输出为“ 26/06/2019 12:18:56”。

想要的预期结果是“ 26/06/2019”

3 个答案:

答案 0 :(得分:0)

让Excel在导入时正确格式化格式是很棘手的。您可以告诉它做一件事,它将做完全不同的事情。无论如何,突出显示整个时间列,右键单击->设置单元格格式。在“数字”标签下,而不是转到“时间”类别,请尝试转到“自定义”类别,我想您将能够找到自己想要的东西。

答案 1 :(得分:0)

CsvHelper允许您创建自定义类型转换器。因此,您可以为DateTime进行设置,并根据需要设置其格式。

void Main()
{
    string webData = "[{\"date\":\"01/01/2018\",\"name\":\"toto\"}]";
    var records = JsonConvert.DeserializeObject<IList<JournalImport>>(webData, new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });
    using (var writer = new System.IO.StreamWriter(File.Create(@"toto.csv")))
    using (var csv = new CsvHelper.CsvWriter(writer))
    {
        csv.Configuration.TypeConverterCache.AddConverter<DateTime>(new DateTimeCOnverter());
        csv.WriteRecords(records);
    }
}

public class JournalImport
{
    public DateTime Date { get; set; }
    public string Name { get; set; }
}

public class DateTimeCOnverter : ITypeConverter
{
    public object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
    {
        throw new NotImplementedException();
    }

    public string ConvertToString(object value, IWriterRow row, MemberMapData memberMapData)
    {
        if (value is DateTime date)
        {
            return date.ToString("dd/MM/yyyy");
        }
        return value?.ToString();
    }
}

答案 2 :(得分:0)

您可以添加格式设置选项。

!ls /content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection/*.py
!cat /content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection/clusterer.py
import sys
sys.path.append('/content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection')
import clusterer