QKW*_*KWS 2 .net c# date-format
我在这里有一个ac#代码块:
string inputString = textBox1.Text;
DateTime dt;
try
{
if (DateTime.TryParseExact(inputString, "yyyyMMdd", null, DateTimeStyles.None, out dt) == true)
{
dt = dt.AddMonths(6);
textBox2.Text = dt.ToString("yyyyMMdd");
}
else if (DateTime.TryParseExact(inputString, "yyyy.MM.dd", null, DateTimeStyles.None, out dt) == true)
{
dt = dt.AddMonths(6);
textBox2.Text = dt.ToString("yyyyMMdd");
}
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
Run Code Online (Sandbox Code Playgroud)
基本上,它的作用是,用户在textbox1中输入一个字符串,单击按钮时,C#将检查文本框中的日期格式,然后在日期上添加6个月,然后在textbox2中将其输出为字符串格式yyyyMMdd。如您目前所见,它接受yyyyMMdd和yyyy.MM.dd并执行相同的过程。但是我的问题是我仍然还有很多日期格式:
dd-MM-yy
yyyy/mm/dd
yyyy-mm-dd
yy/mm/dd
Run Code Online (Sandbox Code Playgroud)
我不想在我的IF语句中使用OR。是否有类似格式的方法被接受并执行该过程。非常感谢你们!
小智 5
TryParseExact 的重载之一接受字符串数组作为其第二个参数。但是,它不会确切告诉您使用了哪种格式。如果您确实需要这些信息,那么可以,只需使用所需的每种格式运行一种格式的TryParseExact,然后查看哪种格式有效。
而且,当然,您需要确保所允许的所有格式对于日期,月份和年份中的哪个部分是明确的,否则您可能会将03/02/01解析为六个可能的日期中的任何一个。
| 归档时间: |
|
| 查看次数: |
13497 次 |
| 最近记录: |