我有一些这样的C#代码:
string myString = "20180426";
我知道如何解析特定字符(使用string.Split东西),但是如何获取它来返回3个这样的字符串:
2018
04
26
我有几种以这种方式格式化的字符串(“ YYYYMMDD”),所以我不希望仅适用于该特定字符串的代码。我尝试使用
var finNum = myString[0] + myString[1] + myString[2] + myString[3];
Console.Write(finNum);
但是我想这是将字符视为整数,而不是文本字符串,因为它是对它们执行一些数学运算而不是进行串联(它也不是加法,因为它返回的是203,这不是2、0、1和8的总和)。
我尝试将更var
改为string
,但它不会让我将int隐式转换为字符串。为什么我认为这string myString
是一个int
,而不是一个string
?
我也可以使用DateTime.Parse
和DateTime.ParseExact
,但是显然“ 20180426”未被识别为有效的DateTime:
DateTime myDate = DateTime.ParseExact(myString, "YYYYMMDD", null);
Console.WriteLine(myDate);
感谢您的帮助。我知道答案可能非常愚蠢,我很愚蠢,但是我认真检查了各个网站,在这里找不到适合我问题的解决方案。
我也可以使用
DateTime.Parse
和DateTime.ParseExact
,但是显然“ 20180426”未被识别为有效DateTime
。
是的,因为格式字符串YYYYMMDD
不正确,所以年份和天是小写的:
DateTime myDate = DateTime.ParseExact(myString, "yyyyMMdd", null);
如果需要年,月和日:
int year = myDate.Year;
int month = myDate.Month;
int day = myDate.Day;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句