问题描述
你好,我正在尝试格式化日期
-
格式为
- ,需要将其放入
ddmmyyyy
中的json中- 按范围过滤,例如从
01012019
到31012019
- 按范围过滤,例如从
dd / mm / yyyy
的csv中的有人可以给我一个建议吗?
序列化
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}}");