将dateformat转换为MM-dd-yyyy

时间:2014-08-14 07:34:36

标签: c# asp.net date datetime

DateTime FourDaysBefore = DateTime.Now.AddDays(-4);

DateTime Today = DateTime.Now;
string td = Today.ToString("MM-dd-yyyy");        
DateTime CDate = Convert.ToDateTime(td);

DateTime EnteredDate = Convert.ToDateTime(datevalue);
string Edate = EnteredDate.ToString("MM-dd-yyyy");
DateTime txtdate = Convert.ToDateTime(Edate);

if (CDate.Month == txtdate.Month)
{
   if (FourDaysBefore.Day <= txtdate.Day)
      return false;
   else
      return true;
 }
 else
    return false;

在此代码中,datevalue为字符串,其格式为dd-MM-yyyy

datevalue转换为DateTime时,我得到"{10/8/2014 12:00:00 AM}"

之后我想将其转换为"MM-dd-yyyy"格式。但我得到"10-08-2014",其中10是日,08是月。

请帮我将此"{10/8/2014 12:00:00 AM}"转换为MM-dd-yyyy格式

3 个答案:

答案 0 :(得分:2)

当您基于不同的文化进行转换以修复您需要使用另一个ToDateTime函数时,会发生此问题,如下所示:

 CultureInfo culture = new CultureInfo("en-US");//Or en-UK base on the format
 DateTime CDate = Convert.ToDateTime(td,culture);

查看链接: http://msdn.microsoft.com/en-us/library/9xk1h71t%28v=vs.110%29.aspx

答案 1 :(得分:0)

如果我理解你,你可以尝试这样的事情:

DateTime startDatee = DateTime.Now;
DateTime startDate = new DateTime(startDatee.Month, startDatee.Day,    startDatee.Year, 08, 0, 0);

所以startDatee = DateTime.Now是:14/08/2014

然后你可以通过创建一个实例来格式化它:

new DateTime(startDatee.Month, startDatee.Day, startDatee.Year, 08, 0, 0);

将于2014年8月14日开始

答案 2 :(得分:0)

您可以像这样拆分日期并转移到数组。

string s = DateTime.Now.ToString("M.d.yyyy");
string[] s_nowtime = s.Split('.');