c# - DateTime 字符串格式错误
问题描述
我在转换字符串格式的日期时间时遇到问题,但我无法将其转换为 DateTime 格式。
我有错误:
该字符串未被识别为有效的日期时间。从索引 3 开始有一个未知单词
因为我阅读了一个带有日期字符串的 .xmls 文档,17-ago-18
我认为它类似于"dd-MMM-yy"
有人可以帮我解决这个问题吗?
我的代码是:
public JsonResult Pedidos(List<string[]> lines)
{
using (TransactionScope scope = HelperTransactionScope.getTransactionScope())
{
try
{
for (int i = 1; i < lines.Count; i++)
{
if (lines[i].Length == 1)
return Json("400");
PedidosFundilag pedido = new PedidosFundilag();
pedido.Cliente = lines[i][0];
pedido.Division = lines[i][1];
pedido.NumParte = lines[i][2];
pedido.Cantidad = Convert.ToInt32(lines[i][3]);
pedido.FechaSolicitud = Convert.ToDateTime(lines[i][4]);
pedido.FechaEnvio = Convert.ToDateTime(lines[i][5]);
pedido.OrdenCompra = lines[i][6];
pedido.NumConfirmacion = lines[i][7];
AgregarPedido(pedido);
}
scope.Complete();
return Json("200");
}
catch(Exception ex)
{
ModelState.AddModelError("", ex.InnerException == null ? ex.Message : ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.InnerException.Message);
return Json(ex.Message, "400");
}
解决方案
解析器无法检测到您的字符串的语言。您必须明确告诉它日期是葡萄牙语。这就是该Convert.ToDateTime
方法的第二个参数的用途。
方法文档:https ://msdn.microsoft.com/en-us/library/9xk1h71t(v=vs.110).aspx
支持的文化代码的完整列表:https ://msdn.microsoft.com/en-us/library/hh441729.aspx
使用示例:
CultureInfo culture = new CultureInfo("pt-BR");
DateTime dateTimeValue = Convert.ToDateTime(youDateString, culture);
推荐阅读
- llvm - 位码中全局整数数组中的 zeroinitializer
- javascript - ReactJS Imports not working blank webpage
- filter - 有没有办法按日期过滤文件夹 Blue Prism
- python - 根据另一行的条件在 Pandas 数据框中创建新列的最佳方法是什么?
- settings - 故事书:使用 awesome-typescript-loader
- javascript - 如何在 Google Drive Api v3 中获取 webViewLink?
- javascript - YelpApi:JSON 解析错误:意外的标识符“缺失”
- git - Phabricator:未找到 Git 存储库
- php - 如何使用 Axios 在 Laravel 中进行会话?
- python - 带有特殊字符编解码器的 Pandas read_csv 文件路径无法解码