private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
string newDate;
ConvertDate(textBox1.Text, out newDate);
textBox2.Text = newDate;
}
}
 
public bool ConvertDate(string strStart, out string newDate)
{
string longFormat = "yyyy-MM-dd HH:mm:ss", shortFormat = "yyyy-MM-dd";
newDate = strStart;
while (true)
{
if (newDate.IndexOf("//") >= 0)
newDate = newDate.Replace("//", "/");
else if (newDate.IndexOf(".") >= 0)
newDate = newDate.Replace(".", "/");
else if (newDate.IndexOf("。") >= 0)
newDate = newDate.Replace("。", "/");
else if (newDate.IndexOf("-") >= 0)
newDate = newDate.Replace("-", "/");
else if (newDate.IndexOf("、") >= 0)
newDate = newDate.Replace("、", "/");
else if (newDate.IndexOf("|") >= 0)
newDate = newDate.Replace("|", "/");
else if (newDate.IndexOf(":") >= 0)
newDate = newDate.Replace(":", ":");
else
break;
}
try
{
newDate = Convert.ToDateTime(newDate).ToString(longFormat);
return true;
}
catch
{
try
{
string[] str = newDate.Split(' ');
if (str.Count() > 0)
{
string[] sDate = str[0].Split('/');
if (sDate.Count() >= 3)
{
try
{
newDate = sDate[0] + "-" + sDate[1] + "-" + sDate[2];
if (str.Count() > 1)
{
newDate += " " + str[1];
newDate = Convert.ToDateTime(newDate).ToString(longFormat);
}
else
newDate = Convert.ToDateTime(newDate).ToString(shortFormat);
return true;
}
catch
{
newDate = sDate[2] + "-" + sDate[1] + "-" + sDate[0];
if (str.Count() > 1)
{
newDate += " " + str[1];
newDate = Convert.ToDateTime(newDate).ToString(longFormat);
}
else
newDate = Convert.ToDateTime(newDate).ToString(shortFormat);
return true;
}
}
}
}
catch
{
}
}
 
while (true)
{
if (strStart.IndexOf("//") >= 0)
strStart = strStart.Replace("//", "");
else if (strStart.IndexOf(".") >= 0)
strStart = strStart.Replace(".", "");
else if (strStart.IndexOf("。") >= 0)
strStart = strStart.Replace("。", "");
else if (strStart.IndexOf("-") >= 0)
strStart = strStart.Replace("-", "");
else if (strStart.IndexOf("、") >= 0)
strStart = strStart.Replace("、", "");
else if (strStart.IndexOf("|") >= 0)
strStart = strStart.Replace("|", "");
else if (strStart.IndexOf(":") >= 0)
strStart = strStart.Replace(":", "");
else if (strStart.IndexOf(":") >= 0)
strStart = strStart.Replace(":", "");
else
break;
}
try
{
//当strStart = "20121010" 这种类型
IFormatProvider ifp = new CultureInfo("zh-CN", true).DateTimeFormat;
DateTime dt = DateTime.ParseExact(strStart, "yyyyMMdd", ifp);
newDate = dt.ToString(shortFormat);
return true;
}
catch { }
try
{
//当strStart = "201210101230" 这种类型
IFormatProvider ifp = new CultureInfo("zh-CN", true).DateTimeFormat;
DateTime dt = DateTime.ParseExact(strStart, "yyyyMMddHHmm", ifp);
newDate = dt.ToString(longFormat);
return true;
}
catch { }
try
{
//当strStart = "20121010121320" 这种类型
IFormatProvider ifp = new CultureInfo("zh-CN", true).DateTimeFormat;
DateTime dt = DateTime.ParseExact(strStart, "yyyyMMddHHmmss", ifp);
newDate = dt.ToString(longFormat);
return true;
}
catch { }
try
{
//当strStart = "10102012" 这种类型
IFormatProvider ifp = new CultureInfo("zh-CN", true).DateTimeFormat;
DateTime dt = DateTime.ParseExact(strStart, "ddMMyyyy", ifp);
newDate = dt.ToString(shortFormat);
return true;
}
catch (Exception ex)
{
throw ex;
}
}
posted on 2016-09-22 14:47  zishen  阅读(1935)  评论(0编辑  收藏  举报