in src/WebJobs.Extensions/Extensions/Timers/TimerInfo.cs [62:87]
internal static string FormatNextOccurrences(TimerSchedule schedule, int count, DateTime? now = null, TimeZoneInfo timeZone = null)
{
if (schedule == null)
{
throw new ArgumentNullException("schedule");
}
timeZone = timeZone ?? TimeZoneInfo.Local;
bool isUtc = timeZone.HasSameRules(TimeZoneInfo.Utc);
IEnumerable<DateTime> nextOccurrences = schedule.GetNextOccurrences(count, now);
StringBuilder builder = new StringBuilder();
foreach (DateTime occurrence in nextOccurrences)
{
if (isUtc)
{
builder.AppendLine(occurrence.ToUniversalTime().ToString(DateTimeFormat));
}
else
{
TimeSpan offset = timeZone.GetUtcOffset(occurrence);
builder.AppendLine($"{occurrence.ToString(DateTimeFormat)} ({occurrence.ToUniversalTime().ToString(DateTimeFormat)})");
}
}
return builder.ToString();
}