试图到处搜索,不去.
到目前为止的方法是DateTime dt = (DateTime)sqlparam.Value;.我可以想象在不同的配置,不同的SQL区域设置,不同的PC区域设置等方面会出错.但话说回来,解析SQL datetime字符串的值是更疯狂的想法.
有没有一个可行的解决方案,它是.NET,应该有一个,对吗?
using System;
class Program
{
static void Main()
{
// Taken from MySQL: SELECT CURTIME()
// SELECT TIME(...)
string mySqlTime = "23:50:26";
DateTime time = DateTime.Parse(mySqlTime);
// Taken from MySQL: SELECT TIMESTAMP(...)
string mySqlTimestamp = "2003-12-31 00:00:00";
time = DateTime.Parse(mySqlTimestamp);
Console.WriteLine(time);
// Taken from MySQL: SELECT CURDATE()
// SELECT DATE(...)
string mySqlDate = "2008-06-13";
time = DateTime.Parse(mySqlDate);
Console.WriteLine(time);
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白显式转换它有什么问题,我就是这样做的。
如果您的问题是由“不同的配置、不同的 SQL 区域设置、不同的 PC 区域设置”引起的,那么使用不同的转换方法将无济于事。
但是,您可能希望查看 SQL Server 2008 中的这种新数据类型: DateTimeOffset
| 归档时间: |
|
| 查看次数: |
23229 次 |
| 最近记录: |