0

我在 DB2/400 表中有一个 TIMESTAMP 类型的列。

我是这样过滤的:

select scmach,count(*) from f55br001 where sctrdj >='2013-08-30 00:00:00' group by scmach order by scmach

在一个简单的 ASP.NET 网页应用程序中,我像这样使用它:

var lastUpdate = db.QuerySingle("select max(sccrdj) as LASTUPDATE from PRODDTA.F55BR001 where SCTRDJ >= '" + dateParam + "'");
    var maxDate = lastUpdate.LASTUPDATE;

接着:

<h3>
    Last update: @maxDate
</h3>

在网页中,它被打印为:

2013-08-31-14.01.09.000000

我找不到任何方法将其转换为适当的日期时间字段。

GetType() 当它来自 db 时说它是一个字符串,而 DateTime.Parse 也不起作用

编辑:

我发现的唯一方法是使用 ParseExact。这是正确的方法吗?

string dateFormat = "yyyy-MM-dd-HH.mm.ss.FFFFFF";
    var maxDate = DateTime.ParseExact(lastUpdate.LASTUPDATE,dateFormat, CultureInfo.InvariantCulture);
4

1 回答 1

0

我发现的唯一方法是使用ParseExact.

string dateFormat = "yyyy-MM-dd-HH.mm.ss.FFFFFF";
var maxDate = DateTime.ParseExact(lastUpdate.LASTUPDATE,dateFormat, 
                                               CultureInfo.InvariantCulture);
于 2013-08-31T12:34:09.763 回答