【问题标题】:converting dateformat to MM-dd-yyyy将日期格式转换为 MM-dd-yyyy
【发布时间】:2014-08-14 07:34:35
【问题描述】:
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 格式

【问题讨论】:

  • 也许EnteredDate 已经是错误的日期,datevalue 的值是多少以及您使用的是什么文化(fe.e. en-us)?
  • Convert.ToDateTime - 这不是按预期读取日期。
  • 我觉得还是用DateTime.ParseExact比较好
  • DateTimes 没有有“格式” - 只有在使用 字符串 时才会出现格式问题。因此,无论发生什么其他情况,从string Edate 开始的两条线充其量是什么也没做,最坏的情况是破坏日期值。尽早从字符串转换一次,然后只对 DateTime 值进行操作。
  • 这是“预期行为”,10-08-2014 可能是 2014 年 8 月 10 日或 2014 年 10 月 8 日。框架无法确定月份/日期部分采用这种特定格式,除非其中一个超过 12 岁。正如 Alizera 所说 - 使用 DateTime.ParseExact 但前提是您 100% 确定这是用户输入日期的格式。

标签: c# asp.net date datetime


【解决方案1】:

当您基于不同的文化进行转换以修复您需要使用另一个 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

【讨论】:

    【解决方案2】:

    如果我理解正确,你可以试试这样的:

    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 日为您提供服务

    【讨论】:

      【解决方案3】:

      您可以像这样拆分日期并传输到数组。

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

      【讨论】:

        猜你喜欢
        • 2017-06-24
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 2022-01-25
        • 2012-03-05
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多