Usuário com melhor resposta
Trabalhar com datas retroativas

Pergunta
-
Respostas
-
Olá,
Use o FluentDateTime
Essa biblioteca adiciona extensões no tipo DateTime que permitem fazer exatamente o que você quer:
var data = DateTime.Now.SubtractBusinessDays(10);
- Sugerido como Resposta Fabio Alves Borges Rodrigues segunda-feira, 15 de abril de 2013 19:55
- Marcado como Resposta pnet segunda-feira, 15 de abril de 2013 21:08
-
Apenas por propósito informativo, e caso não esteja interessado em instalar a dll, o método desta biblioteca é implementado da seguinte forma:
public static DateTime AddBusinessDays(this DateTime current, int days) { var sign = Math.Sign(days); var unsignedDays = Math.Abs(days); for (var i = 0; i < unsignedDays; i++) { do { current = current.AddDays(sign); } while (current.DayOfWeek == DayOfWeek.Saturday || current.DayOfWeek == DayOfWeek.Sunday); } return current; } public static DateTime SubtractBusinessDays(this DateTime current, int days) { return AddBusinessDays(current, -days); }
Leonardo Lima da Silva
- Marcado como Resposta pnet segunda-feira, 15 de abril de 2013 21:08
Todas as Respostas
-
Olá,
Use o FluentDateTime
Essa biblioteca adiciona extensões no tipo DateTime que permitem fazer exatamente o que você quer:
var data = DateTime.Now.SubtractBusinessDays(10);
- Sugerido como Resposta Fabio Alves Borges Rodrigues segunda-feira, 15 de abril de 2013 19:55
- Marcado como Resposta pnet segunda-feira, 15 de abril de 2013 21:08
-
Apenas por propósito informativo, e caso não esteja interessado em instalar a dll, o método desta biblioteca é implementado da seguinte forma:
public static DateTime AddBusinessDays(this DateTime current, int days) { var sign = Math.Sign(days); var unsignedDays = Math.Abs(days); for (var i = 0; i < unsignedDays; i++) { do { current = current.AddDays(sign); } while (current.DayOfWeek == DayOfWeek.Saturday || current.DayOfWeek == DayOfWeek.Sunday); } return current; } public static DateTime SubtractBusinessDays(this DateTime current, int days) { return AddBusinessDays(current, -days); }
Leonardo Lima da Silva
- Marcado como Resposta pnet segunda-feira, 15 de abril de 2013 21:08