已回答 将字符串数据转换为日期时间

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
49
编程经验
Beginner
嗨,我可以将字符串数据传递到日期时间吗?

我有一个字符串BufferDateTime包含2020,07,22,16,11,38
C#:
dt = new DateTime(BufferDateTime);
我可以将其转换为长吗?
谢谢
 

跳伞者

工作人员
已加入
2019年4月6日
留言内容
2,614
地点
弗吉尼亚州切萨皮克
编程经验
10+
您应该改用其他构造函数:
C#:
public DateTime (int year, int month, int day, int hour, int minute, int second);
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,570
地点
悉尼,澳大利亚
编程经验
10+
If you're starting with numbers to create the string in the first place then you should do suggested above. If you're starting with that string though, e.g. reading it from a file, then you should call DateTime.TryParseExact. You get to specify the format the input is in and the method will return a bool to indicate whether it succeeded or failed and, if it succeeded, will output the DateTime value. E.g.
C#:
var bufferDateTime = "2020,07,22,16,11,38";

if (DateTime.TryParseExact(bufferDateTime, "yyyy,MM,dd,HH,mm,ss", null, DateTimeStyles.None, var out value))
{
    Console.WriteLine(value);
}
else
{
    Console.WriteLine("Invalid input.");
}
 

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
49
编程经验
Beginner
If you're starting with numbers to create the string in the first place then you should do suggested above. If you're starting with that string though, e.g. reading it from a file, then you should call DateTime.TryParseExact. You get to specify the format the input is in and the method will return a bool to indicate whether it succeeded or failed and, if it succeeded, will output the DateTime value. E.g.
C#:
var bufferDateTime = "2020,07,22,16,11,38";

if (DateTime.TryParseExact(bufferDateTime, "yyyy,MM,dd,HH,mm,ss", null, DateTimeStyles.None, var out value))
{
    Console.WriteLine(value);
}
else
{
    Console.WriteLine("Invalid input.");
}
嗨,我已经添加了"使用System.Globalization";
有问题"var out value".

"," expected
名称var在当前...中不存在。
名称值不........

谢谢,
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,570
地点
悉尼,澳大利亚
编程经验
10+
Hi, I have added "使用System.Globalization";
有问题"var out value".

"," expected
名称var在当前...中不存在。
名称值不........

谢谢,
Sorry, should have been out var rather than var out. That's what I get for typing that code into the forum freehand instead of into the IDE and then pasting.
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,570
地点
悉尼,澳大利亚
编程经验
10+
可变价值 should have been out DateTime value.
out var is fine as the DateTime type will be inferred from usage. I just got the out and var the wrong way around, and not for the first time.
 
最佳 底部