格式化日期并按范围过滤 序列化型号

问题描述

你好,我正在尝试格式化日期

    格式为dd / mm / yyyy的csv中的
  • ,需要将其放入ddmmyyyy中的json中
    • 按范围过滤,例如从0101201931012019

有人可以给我一个建议吗?

序列化

static void Main(string[] args)
{
    using (var reader = new StreamReader("../database.csv"))
    using (var csv = new CsvReader(reader,CultureInfo.InvariantCulture))
    {
        csv.Configuration.Delimiter = ",";

        var records = csv.GetRecords<Tabela>().ToList();
        // JSON writing
        var json = JsonConvert.SerializeObject(records);
        File.WriteallText("../database.json",json);

        System.Console.WriteLine(records);
    }
}

型号

class Tabela
{
    public DateTime date { get; set; }
    public String media { get; set; }
    public String client_id { get; set; }
    public String client_name { get; set; }
    public String campaign_id { get; set; }

    public String campaign_name { get; set; }

    public int clicks { get; set; }
    public int impressions { get; set; }
    public Double investment { get; set; }
}

解决方法

这应该可行:

        var validFrom = DateTime.TryParseExact("01012019","ddMMyyyy",CultureInfo.InvariantCulture,DateTimeStyles.None,out DateTime from);
        var validTo = DateTime.TryParseExact("31012019",out DateTime to);

        if (validFrom && validTo)
        {

            var records = csv.GetRecords<Tabela>()
                .Where(x => x.date >= from && x.date <= to)
                .Select(x => new {
                    date = $"{x.date:ddMMyyyy}",// ...
                    // the rest of the properties
                    // or selected
                })
                .ToList();
        }

如何将日期写入json文件的示例:

File.WriteAllText("../../../dates.json",$"{{\n\t\"date\": \"{DateTime.Now:ddMMyyyy}\"\n}}");

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...