我有一个格式为YYYYMMDD的字符串 - 如何以YYYY-MM-DD格式制作副本?
答案 0 :(得分:2)
// this is your original string
string _str = "20130101";
// you need to convert it to valid DateTime datatype
// so you can freely format the string to what you want
DateTime _date = DateTime.ParseExact(_str, "yyyyMMdd", CultureInfo.InvariantCulture);
// converting to your desired format, which is now a string
string _dateStr = _date.ToString("yyyy-MM-dd");
答案 1 :(得分:2)
您必须解析DateTime
,然后重新格式化:
var input = ...
var inFormat = "yyyyMMdd";
var outFormat = "yyyy-MM-dd";
var date = DateTime.ParseExact(inFormat, input, CultureInfo.InvariantCulture);
var output = date.ToString(outFormat);
答案 2 :(得分:1)
安全方法是将其转换为DateTime对象,例如在.Net中使用以下函数:
DateTime.TryParseExact()
然后使用DateTime对象,您可以再次格式化它。如下例所示:
dateTimeObject.ToString(YourFormatInString);
查看MSDN以获取更多详细信息:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx