如何获取给定日期一年内的天数

时间:2016-10-22 01:38:12

标签: c#

  

考虑到,我需要计算从给定日期开始的一年中的一天   这一年也是。

     

我在巴西,所以我使用的是dd / mm / yyyy格式

Console.WriteLine("Please inform the date in format dd/mm/yyyy");
DateTime dateInformed = DateTime.Parse(Console.ReadLine());
.
.
.
Console.WriteLine("The day of the year is:" + );
     

实施例

     

如果我收到:2016年10月21日我会显示2016年的天数

     

如果我收到:21/10/1993我显示了1993年的天数

     

考虑是否是闰年。

     

很抱歉,如果我没有解释清楚。

     

谢谢!

编辑: 有些人报道重复的问题,但我不这么认为。

让我试着以另一种方式解释......

我将在Console中收到用户的完整日期。 我没弄明白如何以dd / mm / yyyy格式获取用户给我的一年中的天数。 我认为计算基本上是:用户输入的日期 - 一年的第一天。但我还需要知道今年是否是闰年。 但我不知道如何在C#中使用DateTime来做到这一点。

另一个例子......

25/10 / 2016 - 01/01/2016 =一年 298

25/10 / 2015 - 01/01/2015 =年度 297

我只想知道在不同的入口处接收日,月和年。

谢谢!

2 个答案:

答案 0 :(得分:0)

在一年的最后一天(12月31日)创建一个新的DateTime对象集并使用DayOfYear属性。

int daysInYear=new DateTime(dateInformed.Year,12,31).DayOfYear;

或者使用IsLeapYear方法检查它是否是闰年:

int daysInYear=dateInformed.IsLeapYear()?366:365;

答案 1 :(得分:0)

回顾答案,我的问题等......我想知道如何知道从给定日期开始的那一年...

这是我在pt-br中的代码,但格式为aaaa-mm-dd。

using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine("Informe a data no formato aaaa-mm-dd");
        DateTime dataInformada = DateTime.Parse(Console.ReadLine());

        Console.Write("Dia do ano: " + dataInformada.DayOfYear);
    }
}

感谢所有试图帮助我的人!