CSharp · Console
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
public class Program
{
public static IEnumerable<DateTime> OcorrenciasDeHorarios(
DateTime Inicio, DateTime Final, params string[] Horarios)
{
var cultura = new CultureInfo("en-US");
for (var dia = Inicio; dia <= Final; dia = dia.AddDays(1))
{
foreach (var diaHorario in Horarios.Select(h => DateTime.Parse(dia.Date.ToString("MM/dd/yyyy") + " " + h)))
{
if (diaHorario >= Inicio && diaHorario <= Final)
yield return diaHorario;
}
}
}
public static void Main()
{
var lista = OcorrenciasDeHorarios(DateTime.Parse("2017-01-10 01:35:00 PM"), DateTime.Parse("2017-01-12 07:35:00 PM"), "12:50:00 AM", "05:50:00 PM");
Console.WriteLine(lista.Count());
foreach (var item in lista) Console.WriteLine(item);
}
}