/// <summary> /// Truncate everything after <see cref="DateTimeEnum"/> /// </summary> /// <param name="date"><see cref="DateTime"/></param> /// <param name="truncate"><see cref="DateTimeEnum"/></param> /// <returns>Truncated <see cref="DateTime"/></returns> public static DateTime Truncate(this DateTime date, DateTimeEnum truncate) { switch (truncate) { case DateTimeEnum.Year: return(new DateTime(date.Year, 1, 1, 0, 0, 0, 0, date.Kind)); case DateTimeEnum.Month: return(new DateTime(date.Year, date.Month, 1, 0, 0, 0, date.Kind)); case DateTimeEnum.Day: return(new DateTime(date.Year, date.Month, date.Day, 0, 0, 0, date.Kind)); case DateTimeEnum.Hour: return(date.AddTicks(-(date.Ticks % TimeSpan.TicksPerHour))); case DateTimeEnum.Minute: return(date.AddTicks(-(date.Ticks % TimeSpan.TicksPerMinute))); case DateTimeEnum.Second: return(date.AddTicks(-(date.Ticks % TimeSpan.TicksPerSecond))); case DateTimeEnum.Millisecond: return(date.AddTicks(-(date.Ticks % TimeSpan.TicksPerMillisecond))); default: return(date); } }
/// <summary> /// Initializes an instance /// </summary> /// <param mainFile="passedValues"></param> public ArrayParser(params string[] passedValues) { // DateTimeFormat= DateTimeEnum.Normal; DateTimeFormat = DateTimeEnum.DottedDate; Values = new string[passedValues.Count()]; // DateTim for (int Iterator = 1; Iterator <= passedValues.Count(); Iterator++) { if (!(passedValues[Iterator - 1] == null)) { Values[Iterator - 1] = passedValues[Iterator - 1]; } else { Values[Iterator - 1] = ""; } } }
public Task UpdateRecurringJob(string jobId, Expression <Action> action, DateTimeEnum recurring, int interval = _interval) { Log.Information($"[{nameof(AddRecurringJob)}] Update RecurringJob {nameof(action.Name)}"); switch (recurring) { case DateTimeEnum.Minute: RecurringJob.AddOrUpdate(jobId, action, $"* 0/{interval} * ? * *"); break; case DateTimeEnum.Hour: RecurringJob.AddOrUpdate(jobId, action, $"* * 0/{interval} ? * *"); break; case DateTimeEnum.Day: RecurringJob.AddOrUpdate(jobId, action, $"* * * ? * {_dateTimeService.GetNow().Day}/{interval} *"); break; case DateTimeEnum.Week: RecurringJob.AddOrUpdate(jobId, action, $"* * * ? * {_dateTimeService.GetNow().DayOfWeek.ToString().Substring(0, 2)} *"); break; case DateTimeEnum.Month: RecurringJob.AddOrUpdate(jobId, action, $"* * * ? 1/{interval} * *"); break; case DateTimeEnum.Year: RecurringJob.AddOrUpdate(jobId, action, $"* * * ? * * {_dateTimeService.GetNow().Year}/{interval}"); break; case DateTimeEnum.Never: RecurringJob.AddOrUpdate(jobId, action, Cron.Never); break; default: throw new ArgumentOutOfRangeException(nameof(recurring), recurring, null); } return(Task.CompletedTask); }
/// <summary> /// Truncate everything after <see cref="DateTimeEnum"/> /// Unless the <see cref="DateTime"/> is 'null', will return 'null' /// </summary> /// <param name="date"><see cref="DateTime"/></param> /// <param name="truncate"><see cref="DateTimeEnum"/></param> /// <returns>Truncated <see cref="DateTime"/> or Null</returns> public static DateTime?Truncate(this DateTime?date, DateTimeEnum truncate) { return(date.HasValue ? date.Value.Truncate(truncate) : (DateTime?)null); }
/// <summary> /// Sets the property FormatToCheck which is /// </summary> /// <param mainFile="formatToCheck"></param> public void SetDateTimeFormat(DateTimeEnum formatToCheck) { FormatToCheck = formatToCheck; }