我有 Oracle 的时间戳:
string timestamp = "23-JUN-14 09.39.04.000000000 AM";
我无法将其解析为系统日期时间对象。我用过:
CultureInfo provider = CultureInfo.InvariantCulture;
String format = "yy-MMM-dd hh:mm:ss:fffffff";
string timestamp = "10-DEC-07 10.32.47.797201123 AM";
{
var date = DateTime.ParseExact(timestamp, format, provider);
DateTime dateTime = DateTime.ParseExact(timestamp.ToString(), "dd-MMM-y HH:mm:ss", CultureInfo.InvariantCulture);
}
还是报错。它在 m 之后工作 7 f,但不会超过那个。我尝试使用 Parse
,尝试 ParseExact
- 有什么办法吗?
最佳答案
根据 https://stackoverflow.com/a/23198962/328864 , 没有办法跳过精确模式的一部分,所以我想你可以这样做:
CultureInfo provider = CultureInfo.InvariantCulture;
string timestamp = "10-DEC-07 10.32.47.797201123 AM";
String format = String.Format("yy-MMM-dd hh.mm.ss.fffffff{0} tt", timestamp.Substring(26,2));
DateTime date = DateTime.ParseExact(timestamp, format, provider);
Console.WriteLine(date);
虽然不是很漂亮。
关于c# - 无法在 C# 中解析 Oracle 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990166/