У меня есть C# блок кода здесь:Как проверить формат даты с #
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); }
В принципе, то, что он делает, вводимые пользователем строка в TextBox1, по нажатию кнопки, C# будет проверить, какой формат даты в текстовом поле, затем добавьте 6 месяцев в дату и выведите его в текстовое поле2 в строковый формат yyyyMMdd. Как вы видите на данный момент, он принимает yyyyMMdd и yyyy.MM.dd и выполняет тот же процесс. Но моя проблема в том, что я до сих пор есть много форматов дата слева:
dd-MM-yy
yyyy/mm/dd
yyyy-mm-dd
yy/mm/dd
Я не хочу использовать или в моем IF заявлении. Есть ли способ, как WHATEVER формат, будет приниматься и выполнять этот процесс. Спасибо большое, ребята!
Ваша проблема будет одной из двусмысленностей. Что следует интерпретировать следующим образом: 12/11/13. Это 12 ноября или 11 декабря? –
13 ноября 2012 года. Приведенный конкретный список является фактически недвусмысленным из-за различий в пунктуации и двух/четырехзначных годах, хотя предполагается, что представленный список является полным списком всех форматов, которые они планируют использовать. –
О, я вижу. Так что, может быть, я должен придерживаться того, если иначе? – QKWS