Date.AddDays没有给出正确的答案

时间:2016-02-27 18:28:52

标签: c# date time

using System;
using System.Globalization;

namespace Date_Problem
{
    class Program
    {
        static void Main()
        {
            string bDay = Console.ReadLine();
            DateTime convert = DateTime.ParseExact(bDay,"dd-mm-yyyy",CultureInfo.InstalledUICulture);
            convert = convert.AddDays(999);
            string formatted = convert.ToString("dd-mm-yyyy");


            Console.WriteLine(formatted);
        }
    }
}

当我输入

  

25-02-1995

它应该给我

  

20-11-1997

但是我得到了

  

20-02-1997

有人可以指出我的错误吗?

编辑:显然“mm”代表分钟“MM”代表几个月。谢谢帮助人员!

3 个答案:

答案 0 :(得分:6)

日期格式应为 function1 = function(callback) { console.log("hi"); callback("func 1 done!!"); // function one is done now execute the callback } function2 = function(message){ alert(message); } function1(function2); //passing function2 as a parameter to function 1, //once function one is complete it will execcute the function2 as its passed in // the callback parameter. (通知MM)

"dd-MM-yyyy"

工作Demo

答案 1 :(得分:2)

mm代表分钟,这就是为什么当您输入02为mm时,它在添加天数后保持相同。 MM表示您未在输出中使用的月份。

试试这个:

string bDay = Console.ReadLine();
DateTime convert = DateTime.ParseExact(bDay,"dd-MM-yyyy",CultureInfo.InstalledUICulture);
convert = convert.AddDays(999);
string formatted = convert.ToString("dd-MM-yyyy");

Console.WriteLine(formatted);

答案 2 :(得分:1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace testing
{
    class Program
    {

        static void Main(string[] args)
        {
            string bDay = Console.ReadLine();
            DateTime convert = DateTime.ParseExact(bDay, "dd-MM-yyyy", CultureInfo.InstalledUICulture);
            convert = convert.AddDays(999);
            string formatted = convert.ToString("dd-MM-yyyy");


            Console.WriteLine(formatted);
            Console.ReadLine();
        }
    }
}

你走了。