public void RoundTo(DefaultLockTimeRoundingMode roundingMode) { var now = DateTime.UtcNow; var rounded = GetRoundedDate(now, roundingMode); _diff = rounded - now; }
private DateTime GetRoundedDate(DateTime dt, DefaultLockTimeRoundingMode roundingMode) { var rounding = _roundingForMode.GetOrAdd(roundingMode, mode => new DefaultLockTimeRounding(mode)); return(rounding.Round(dt)); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultLockTimeRounding"/> class. /// </summary> /// <param name="roundingMode">The rounding mode</param> public DefaultLockTimeRounding(DefaultLockTimeRoundingMode roundingMode) { _roundingMode = roundingMode; }