求字符串"20070723122743",转为时间的最快方法

songcan 2007-07-24 10:42:37
自己做了一个效率不高,字符串转为时间后对应为2007-7-23 12:27:43 ,谢谢!
...全文
1304 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hitspeed 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

何必乃,有必要去追求那点时间吗
[/Quote]

呵呵,你不知道楼主的应用场景就别乱说,最烦你这样的人

我现在给你一个场景,你说这点时间重要不重要:每分钟有数十M的文本文件要解析出来后入到数据库里,记录数大概上百万,每条记录都有几个日期时间信息要从字符串解析成时间格式,你说那点时间重要不重要?

如果每个字段解析性能差0.01毫秒,100万条记录每分钟,是多少?自己算吧
叶子海盗 2007-07-26
  • 打赏
  • 举报
回复
不错,学习了。
tepc2000 2007-07-24
  • 打赏
  • 举报
回复
up
x719x 2007-07-24
  • 打赏
  • 举报
回复
何必乃,有必要去追求那点时间吗
Fan52027 2007-07-24
  • 打赏
  • 举报
回复
凑热闹,接分。

ps:lz不给我分,不厚道啊
shilei831115 2007-07-24
  • 打赏
  • 举报
回复
凑热闹 顺便接分若干
bitpolar 2007-07-24
  • 打赏
  • 举报
回复
哎 更慢了
楼上楼上的楼上楼上正解
aSalt 2007-07-24
  • 打赏
  • 举报
回复
分了,分了,楼上正解
viena 2007-07-24
  • 打赏
  • 举报
回复
不过有更简单的重载
string S = "20070723122743";
DateTime dt = DateTime.ParseExact(S, "yyyyMMddHHmmss", null);
heatol 2007-07-24
  • 打赏
  • 举报
回复
又慢了
heatol 2007-07-24
  • 打赏
  • 举报
回复
慢了,慢了,楼上楼上正解
whb147 2007-07-24
  • 打赏
  • 举报
回复
同意,学习了
viena 2007-07-24
  • 打赏
  • 举报
回复
慢了,楼上正解~
王集鹄 2007-07-24
  • 打赏
  • 举报
回复
string S = "20070723122743";
DateTime vDateTime = DateTime.ParseExact(S, "yyyyMMddHHmmss", null,
System.Globalization.DateTimeStyles.None);
Console.WriteLine(vDateTime);
burn3tt 2007-07-24
  • 打赏
  • 举报
回复
DateTime.TryParse()
===
using System;
using System.Globalization;

namespace Parse
{
class Class1
{
public static void Main(string[] args)
{
// Assume the current culture is en-US.
// The date is Feburary 16, 1992, 12 hours, 15 minutes and 12 seconds.

string myDateTimeValue = "2/16/1992 12:15:12";
DateTime myDateTime = DateTime.Parse(myDateTimeValue);
Console.WriteLine("1) myDateTime = {0}", myDateTime);

// Reverse month and day to conform to a different culture.
// The date is Feburary 16, 1992, 12 hours, 15 minutes and 12 seconds.

IFormatProvider culture = new CultureInfo("fr-FR", true);
string myDateTimeFrenchValue = " 16/02/1992 12:15:12";
DateTime myDateTimeFrench =
DateTime.Parse(myDateTimeFrenchValue,
culture,
DateTimeStyles.NoCurrentDateDefault);
Console.WriteLine("2) myDateTimeFrench = {0}", myDateTimeFrench);

// The date is Feburary 16, 1992, 12 hours, 15 minutes and 12 seconds.

string[] expectedFormats = {"G", "g", "f" ,"F"};
myDateTimeFrench =
DateTime.ParseExact(myDateTimeFrenchValue,
expectedFormats,
culture,
DateTimeStyles.AllowWhiteSpaces);
Console.WriteLine("3) myDateTimeFrench = {0}", myDateTimeFrench);
}
}
}
/*
This example yields the following results:

1) myDateTime = 2/16/1992 12:15:12 PM
2) myDateTimeFrench = 2/16/1992 12:15:12 PM
3) myDateTimeFrench = 2/16/1992 12:15:12 PM
*/

liulcster 2007-07-24
  • 打赏
  • 举报
回复
就这个呀
DateTime dt = DateTime.ParseExact("20070723122743", "yyyyMMddhhmmss", System.Globalization.CultureInfo.CurrentCulture);
挺好的!

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧