0

嗨,我有一个字符串 2300H 我想将其转换为 C# 中的标准日期时间(Datetime)对象如何实现这一点?

4

3 回答 3

4

如果您只处理时间部分,最好使用 ParseExact 将其放入 TimeSpan 结构中,如下所示:

http://msdn.microsoft.com/en-us/library/dd992370.aspx

LB 提供的代码将在 DateTime 中将其提供给您,但您将获得不准确的日期、月份年份的值。如果它适合您的设计,您可以使用相同的代码将您的信息存储在 TimeSpan 中:

var timeSpan = TimeSpan.ParseExact("2300H", @"hhmm\H", CultureInfo.InvariantCulture);
于 2012-11-19T15:30:08.183 回答
3
var dt = DateTime.ParseExact("2300H", @"HHmm\H", CultureInfo.InvariantCulture);

如果你需要时间

var time = dt.TimeOfDay;
于 2012-11-19T15:32:26.513 回答
1

以下将返回一个DateTime其日期为当前日期、种类未指定且时间等于提供的时间 (23:00) 的日期:

string s = "2300H";
DateTime d = DateTime.ParseExact(s, @"HHmm\H", CultureInfo.InvariantCulture);

或者以下将返回DateTime日期为 0001 年 1 月 1 日、未指定种类且时间等于提供的时间 (23:00) 的 a:

DateTime.ParseExact(s, @"HHmm\H", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault);
于 2012-11-19T15:36:57.343 回答