格式化字符串到字符串日期格式.net 2.0

本文关键字:字符串 net 日期 格式化 格式 | 更新日期: 2023-09-27 18:05:49

给定字符串值例如"03252013",我需要将此字符串转换为这种格式"DDMMYYYY"。你用哪个函数?结果应为"25032013"

string myTestDate="03252013";
string resultDate=??

谢谢

格式化字符串到字符串日期格式.net 2.0

使用DateTime.ParseExact方法。然后使用ToString转换为适当的格式。

var dt = DateTime.ParseExact("03252013", "MMddyyyy", CultureInfo.InvariantCulture);
var result = dt.ToString("ddMMyyyy"); //25032013
string resultDate = DateTime.ParseExact(myTestDate, "MMddyyyy", CultureInfo.InvariantCulture).ToString("ddMMyyyy");

直接解析然后重新格式化:

string input = "03252013"
DateTime date = DateTime.ParseExact(input, "MMddyyyy", CultureInfo.InvariantCulture);
string resultDate = date.ToString("ddMMyyyy");

如果您的需求真的那么简单,我会考虑只是切换值…

string input = "03252013";
string output = input.Substring(2, 2) + input.Substring(0, 2) + input.Substring(4, 4);

…在使用子字符串之前不要忘记验证输入(检查长度是否为8可能就足够了)

注意:如果你的输入或输出格式可能会改变,那么使用DateTime是更理想的。许多人建议的解析技术。但如果这真的是唯一的情况,那么这种方法应该提供更好的性能…略,)

您可以使用下面代码部分的帮助进行转换。

string resultDate = DateTime.ParseExact(myTestDate, "MMDDYYYY", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None).ToString("DDMMYYYY");

resultDate = DateTime.Parse(myTestDate,"d").toString();"d"是一个格式提供程序,它表示像这样定义日期:DD/MM/YYYY