繁体   English   中英

将dd / mm / yyyy中的日期时间字符串转换为日期时间格式mm / dd / yyyy

[英]Convert date time string in dd/mm/yyyy to datetime format mm/dd/yyyy

CSV文件有一个输入,格式为dd / mm / yyyy。 我必须将这些日期值传递给存储过程。 我想先将其转换为mm / dd / yyyy格式,然后再将其从C#代码的数据表中批量复制到数据库表中。

我应该在发送它的代码或存储过程中执行此操作吗? 请告知。我尝试了所有可能的组合。

您可以使用DateTime.ParseExact

var parsedDate = DateTime.ParseExact(dateString, "dd/MM/YYYY", CultureInfo.InvariantCulture);

其中dateString是要解析的日期的字符串表示形式。

如果您的存储过程期望使用DateTime,则可以使用parseDate值。 否则,如果期望使用您提到的格式的字符串,则可以传递以下值:

parsedDate.ToString("MM/dd/YYYY")

您应该在C#中将值解析为DateTime并将此日期值传递给SQL客户端或ORM,而不必将其转换为字符串

如果您的SQL字段类型设置为日期值类型之一,则完全不可能根据您的需要格式化日期,因为数据库引擎不存储格式化的值,而是存储日期值本身。

确保在更新SQL数据库中的值之前先解析DateTime代码。

string date = "2000-02-02";
DateTime time = DateTime.Parse(date); // Will throw an exception if the date is invalid.

还提供了TryParse方法。 它将确保您尝试解析的日期值的格式确实正确。

string input = "2000-02-02";
DateTime dateTime;
if (DateTime.TryParse(input, out dateTime))
{
    Console.WriteLine(dateTime);
}

存储之后,非常欢迎您使用给定的格式之一为DateTime变量选择您喜欢的显示格式(请参阅下面的链接以获取可用格式的完整列表)。

https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM