如何将具有许多日期的字符串解析为列表<DateTme>?



我有一个看起来像这样的string[12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59]每个日期都是分开的,如何将其解析为List<DateTime>

我的代码是:

string datesListString = JObject.Parse(jsonContent)["datesList"].ToString();
ListDateTime> datesList = new JavaScriptSerializer().Deserialize<List<DateTime>>(datesListString);

DatesListString是我需要反序列化的大型 JSON 文件的一个字段。

string yourString = "[12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59]";    
List<DateTime> dates = yourstring
.Trim('[', ']')
.Split(new[] { ", " }, StringSplitOptions.None)
.Select(s => DateTime.ParseExact(s, "MM-dd-yyyy hh:mm:ss", null))
.ToList();

您可以通过结合string.Split方法和Select来做到这一点System.Linq

var dateString = "12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59";
var result = dateString.Split(',').Select(d => DateTime.Parse(d, CultureInfo.InvariantCulture));

要跳过方括号,您可以简单地使用Trim方法,如下所示

var dateString = "[12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59]".Trim('[', ']');

您可以简单地尝试:

string dateTimes = "12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59";
string[] splitDateTime = dateTimes.Split(',');
List<DateTime> dates = new List<DateTime>();
foreach (string dateTime in splitDateTime)
{
DateTime date;
if (DateTime.TryParseExact(dateTime, "MM-dd-yyyy hh:mm:ss", 
CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
dates.Add(date);
}

您需要先拆分字符串,然后可以使用DateTime.Parse(str)来获取 DateTime 对象。

这演示了它:

using System;
public class Program
{
public static void Main()
{
string str = "[12-20-2019 11:27:57, 12-20-2019 11:27:58, 12-20-2019 11:27:59]";
str = str.Substring(1, str.Length - 2);
string[] parts = str.Split(',');
foreach(var part in parts) {
str = str.Trim();
var date = DateTime.Parse(part);
Console.WriteLine(date);
}
}
}

看起来像是 JSON:

var _str = @"[""12-20-2019 11:27:57"", ""12-20-2019 11:27:58"", ""12-20-2019   11:27:59""]";

所以我们可以使用using Newtonsoft.Json;

using Newtonsoft.Json;
var list = JsonConvert.DeserializeObject<List<string>>(_str)
.Select(s => DateTime.Parse(s, CultureInfo.InvariantCulture));

关于库 Json.NET 的阅读模式

相关内容

最新更新