一个字符串是一个字符数组。就在它遍历或使用一个索引,例如:
var someChar="201710010900000"[0];
你并不需要做的,如果你想,虽然这个分析的日期,你应该。只要使用DateTime.ParseExact,如:
var input="201710010900000";
var format="yyyyMMddHHmmssf";
var date=DateTime.ParseExact(input,format,CultureInfo.InvariantCulture);
其他重载允许指定多种格式,例如this one。
如果转换失败,ParseExact将抛出异常。如果你期望这是经常发生的事情,你可以使用TryParseExact:
var styles=DateTimeStyles.None;
var culture=CultureInfo.InvariantCulture;
if (DateTime.TryParseExact(input,format,culture,styles,out var date))
{
//Do something with the date
}
一旦你的DateTime值,您可以使用the standard string formatting mechanisms生成你想要的格式的字符串,在你想要的文化。
如果你想有一个美国式的短日期,你可以写任何如下:
var targetCulture = CultureInfo.GetCultureInfo("en-US");
var text1=date.ToString("d",targetCulture);
var text2=String.Format(targetCulture,"This is my date: {0:d}",result);
字符串是字符数组。只需重复一遍即可。你不需要这样做,如果你想把它当作日期来解析的话,你应该这样做。只需使用'DateTime.ParseExact' –
'将其解析为'DateTime'并将其格式化为所需的输出格式? – Fildor
每个字符串都会有所不同,因为我从列表中调用。当前格式是yyyymmddttttttt。 –