"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como calcular com eficiência a diferença entre duas datas em C#?

Como calcular com eficiência a diferença entre duas datas em C#?

Postado em 2025-04-18
Navegar:417

How Can I Efficiently Calculate the Difference Between Two Dates in C#?

Método para calcular com eficiência a diferença de data em C#

]

Em vários cenários de programação, determinar a diferença no número de dias entre duas datas é uma tarefa comum. Em C#, existem várias maneiras de calcular essa diferença, incluindo o uso da classe date e a estrutura timespan .

use a classe de data e a estrutura do timespan

]

Uma maneira simples de calcular a diferença no número de dias entre duas datas é usar a classe date para representar duas datas e depois subtraí -las para obter uma timespan objeto:

DateTime startDate = new DateTime(2023, 1, 1);
DateTime endDate = new DateTime(2023, 3, 8);
TimeSpan days = endDate - startDate;
Console.WriteLine(days.TotalDays); // 输出:66

Este código usa o atributo totalDays do objeto timespan para recuperar o número de dias entre a data de início e a data de término. O resultado deste exemplo é 66, ou seja, o número de dias de 1 de janeiro a 8 de março de 2023.

use a classe de matemática

]

Outra maneira de calcular a diferença no número de dias entre as datas é usar o método math.abs () para encontrar a diferença absoluta entre dois valores de data expressos em um tick:

long startDateTicks = new DateTime(2023, 1, 1).Ticks;
long endDateTicks = new DateTime(2023, 3, 8).Ticks;
long days = Math.Abs(endDateTicks - startDateTicks) / TimeSpan.TicksPerDay;
Console.WriteLine(days); // 输出:66

Este método depende da propriedade ticks da classe DATETIME , que retorna o número de ticks desde o início do calendário gregoriano (intervalo nanossegundos de 100 nanossegundos). Ao dividir essa diferença pelo número de ticks de cada dia, obtemos o número de dias entre as duas datas.

Perceber:

Não importa qual método você escolher, verifique se o valor da data é válido e representa a data no calendário gregoriano. Além disso, considere o manuseio de casos em que a data de início é posterior à data de término.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3