简体   繁体   English

将日期字符串转换为 SQL 可读的日期格式

[英]Convert date string to a SQL readable date format

我正在尝试将日期字符串Oct 21 2014 1:00 AM2014-10-21 01:00:00或 SQL Server 可以理解的内容。

Use DateTime.TryParse使用DateTime.TryParse

var dateString = "Oct 21 2014 1:00 AM";
DateTime result;
DateTime.TryParse(dateString, out result);
var sqlDate = result.ToString("yyyy-MM-dd HH:mm:ss");

I'd argue that if you're using ADO.NET to communicate with your SQL Server, you shouldn't use a formatted date string as a query parameter.我认为,如果您使用 ADO.NET 与 SQL Server 进行通信,则不应使用格式化的日期字符串作为查询参数。 You should instead use a DateTime object.您应该改用DateTime对象。 You can get it from your string by using either the DateTime.Parse or DateTime.TryParse methods:您可以使用DateTime.ParseDateTime.TryParse方法从字符串中获取它:

DateTime date = DateTime.Parse("Oct 21 2014 1:00 AM"); // Use this as your query parameter.

However if you do decide to go with using a formatted string, the simplest way would be first parse it to as shown above, then you can use ToString with a format string overload, to format your date as you want.但是,如果您决定使用格式化字符串,最简单的方法是首先将其解析为如上所示,然后您可以使用带有格式字符串重载的ToString ,根据需要格式化您的日期。

To get your example format:要获取您的示例格式:

DateTime date = DateTime.Parse("Oct 21 2014 1:00 AM");
string formatted = DateTime.ToString("yyyy-MM-dd hh:mm:ss"); // 2014-10-21 01:00:00

Please see answer here.请在此处查看答案。

Converting a String to DateTime 将字符串转换为日期时间

DateTime.ParseExact may work for you to convert in DateTime and then you can use ToString(<format>) with format to convert it in required string. DateTime.ParseExact 可能适合您在 DateTime 中进行转换,然后您可以使用ToString(<format>)和 format 将其转换为所需的字符串。

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

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