using System.Globalization;
public static void Main()
DateTime data = new DateTime(1970, 1, 1);
var dataFormatada = FormatarData(data);
var diferenca = CalcularDiferenca(data);
Console.WriteLine("Data: " + dataFormatada);
Console.WriteLine("Anos que passaram: " + diferenca);
private static string FormatarData(DateTime data)
CultureInfo culture = new CultureInfo("pt-BR");
DateTimeFormatInfo dtfi = culture.DateTimeFormat;
string diasemana = culture.TextInfo.ToTitleCase(dtfi.GetDayName(DateTime.Now.DayOfWeek));
string mes = culture.TextInfo.ToTitleCase(dtfi.GetMonthName(DateTime.Now.Month));
return "Não implementado";
public interface ICalculadoraDiferenca
double Calcular(DateTime dataMenor, DateTime dataMaior);
public class CalculadoraDiferencaMeses : ICalculadoraDiferenca
private static int DiasPorMes = 30;
public double Calcular(DateTime dataMenor, DateTime dataMaior)
int diasTotal = (int)dataMaior.Subtract(dataMenor).TotalDays;
return diasTotal / DiasPorMes;
private static double CalcularDiferenca(DateTime data)
return new CalculadoraDiferencaMeses().Calcular(data, DateTime.Now);
public class CalculadoraDiferencaAnos : ICalculadoraDiferenca
private static int DiasPorAno = 100;
public double Calcular(DateTime dataMenor, DateTime dataMaior)
int diasTotal = (int)dataMaior.Subtract(dataMenor).TotalDays;
return diasTotal / DiasPorAno;