public bool CollidesWith(BaseScheduleItem other) { var paddedStartTime = StartTime; var paddedEndTime = EndTime; if (this.GetType() != other.GetType()) { paddedStartTime = StartTime.Subtract(TimeSpan.FromMinutes(10)); paddedEndTime = EndTime.Add(TimeSpan.FromMinutes(10)); } // AAAA // BBBB // AAAAAAA // BBBB // AAAAAAAAAAAAA // BBBB // AA // BBBB // Easier to determine if it does NOT collide bool doesNotCollide = paddedEndTime <= other.StartTime || paddedStartTime >= other.EndTime; return(!doesNotCollide); }
private void Timer_Tick(object sender, EventArgs e) { //Różnica między startem a aktualnym czasem TimeSpan difference = DateTime.Now.Subtract(StartTime); //W razie gdyby zaczeto akcje od okreslonego czasu TimeSpan startDifference = StartTime.Subtract(ActionTime); //Ustawienie aktualnej pozycji procentowej GameTimerProgress.Percentage = (double)((difference.TotalMilliseconds + startDifference.TotalMilliseconds) / (TimerMS)) * 100; if (GameTimerProgress.Percentage > 75) { if (!isAnimating) { isAnimating = true; } } if (GameTimerProgress.Percentage >= 100) { this.CloseTimer(); this.GameTimerProgress.Percentage = 0; if (isAnimating) { blinkAnimation.Stop(this.GameTimerProgress); isAnimating = false; } return; } }
public void GetAzureOverview(string AzureLabel) { long startMillisFromEpoch = (long)StartTime.Subtract(DateTimeUtils.EPOCH_1970).TotalMilliseconds; long endMillisFromEpoch = (long)EndTime.Subtract(DateTimeUtils.EPOCH_1970).TotalMilliseconds; AzureDashboardRequest.Get(AzureLabel, StartTime, EndTime); }
public int GetMinutesRemaining(bool untilStart) { TimeSpan ts = untilStart ? StartTime.Subtract(DateTime.Now) : ExpireTime.Subtract(DateTime.Now); int days = ts.Days, hours = ts.Hours, mins = ts.Minutes; return((days * 1440) + (hours * 60) + ts.Minutes); }
private void initialize(bool autostart) { StartTime = DateTime.Now; Helper.General.ServerRestarted += Helper_ServerRestarted; #if DEBUG //Debug data StartTime = StartTime.Subtract(new TimeSpan(5, 0, 0, 0)); Players.Add(IPAddress.Parse("192.168.178.2")); Players.Add(IPAddress.Parse("192.168.178.3")); Players.Add(IPAddress.Parse("192.168.178.4")); Players.Add(IPAddress.Parse("192.168.178.5")); Players.Add(IPAddress.Parse("192.168.178.6")); #endif refresh = new Timer(Settings.Instance.StatisticsInterval); refresh.Elapsed += refresh_Elapsed; if (autostart) { refresh.Start(); Enabled = true; } }
public TimeSpan CalculateTimeToLongerEvent() { ArffEvent previousWork = (ArffEvent)Previous; while (previousWork != null) { if (previousWork.Duration > Duration) { break; } else { previousWork = (ArffEvent)previousWork.Previous; } } ArffEvent nextWork = (ArffEvent)Next; while (nextWork != null) { if (nextWork.Duration > Duration) { break; } else { nextWork = (ArffEvent)nextWork.Next; } } if (previousWork == null && nextWork == null) { return(MaxDuration); } if (previousWork == null) { return(nextWork.StartTime.Subtract(StartTime)); } if (nextWork == null) { return(StartTime.Subtract(previousWork.StartTime)); } else { return((StartTime.Subtract(previousWork.StartTime) < nextWork.StartTime.Subtract(StartTime)) ? StartTime.Subtract(previousWork.StartTime) : nextWork.StartTime.Subtract(StartTime)); } }
private void UpdateCounter() { //if (Elapsed.TotalMilliseconds >= StartTime.TotalMilliseconds) //{ // return; //} Elapsed = Elapsed.Add(TimeSpan.FromMilliseconds(+100)); ElapsedString = Elapsed.ToString(@"mm\:ss"); Current = StartTime.Subtract(Elapsed); if (Current.TotalMilliseconds <= StartTime.TotalMilliseconds * 0.4) { Background = Brushes.Red; } }
public void Update(int dt) { switch (_notificationsAboutStart) { case 3: if (DateTime.Now > StartTime.Subtract(new TimeSpan(0, 30, 0))) { _notificationsAboutStart--; World.BroadcastMsg("ÍÑÈ ÇáÝÑÞ", string.Format("{1} in {0} íÈÏà ÈÚÏ 30 ÏÞíÞÉ", Town, WarType), Color.Firebrick); Asda2BattlegroundHandler.SendMessageServerAboutWarStartsResponse(30); } break; case 2: if (DateTime.Now > StartTime.Subtract(new TimeSpan(0, 15, 0))) { _notificationsAboutStart--; World.BroadcastMsg("ÍÑÈ ÇáÝÑÞ", string.Format("{1} in {0} íÈÏà ÈÚÏ 15 ÏÞíÞÉ", Town, WarType), Color.Firebrick); Asda2BattlegroundHandler.SendMessageServerAboutWarStartsResponse(15); } break; case 1: if (DateTime.Now > StartTime.Subtract(new TimeSpan(0, 5, 0))) { _notificationsAboutStart--; World.BroadcastMsg("ÍÑÈ ÇáÝÑÞ", string.Format("{1} in {0} íÈÏà ÈÚÏ 5 ÏÞÇÆÞ", Town, WarType), Color.Firebrick); Asda2BattlegroundHandler.SendMessageServerAboutWarStartsResponse(5); } break; default: break; } if (DateTime.Now > EndTime && IsRunning) { Stop(); } else if (DateTime.Now > StartTime && DateTime.Now < EndTime) { Start(); } }
} // End of Update /// <summary> /// A time period has lapsed, trigger a save/queue of the current value of data. /// </summary> /// <param name="fillForward">Data stream is a fillforward type</param> /// <param name="isQCData">The data stream is a QCManaged stream</param> public void TriggerArchive(bool fillForward, bool isQCData) { lock (_lock) { try { Console.Write("."); //When there's nothing to do: if (_data == null && !fillForward) { Log.Debug("StreamStore.TriggerArchive(): No data to store, and not fill forward: " + Symbol); } if (_data != null && _data.Time < StartTime) { //Create clone and reset original Log.Debug("StreamStore.TriggerArchive(): Enqueued new data: S:" + _data.Symbol + " V:" + _data.Value); _previousData = _data.Clone(); _queue.Enqueue(_data.Clone()); _data = null; } else if (fillForward && _data == null && _previousData != null || (!isQCData && _data == null && _previousData != null)) { //There was no other data in this timer period, and this is a fillforward subscription: Log.Debug("StreamStore.TriggerArchive(): Fillforward, Previous Enqueued: S:" + _previousData.Symbol + " V:" + _previousData.Value); var cloneForward = _previousData.Clone(); cloneForward.Time = StartTime.Subtract(_config.Increment); _queue.Enqueue(cloneForward); } } catch (Exception err) { Log.Error("StreamStore.TriggerAchive(fillforward): Failed to archive: " + err.Message); } } }
private void btnMinus10Minutes_Click(object sender, EventArgs e) { StartTime = StartTime.Subtract(new TimeSpan(0, TEN_MINUTES, 0)); Redraw(); }
public int ElapseHours() { return(Math.Abs(StartTime.Subtract(EndTime).Hours)); }
public int ElapseMinutes() { return(Math.Abs(StartTime.Subtract(EndTime).Minutes)); }
public int ElapseSeconds() { return(Math.Abs(StartTime.Subtract(EndTime).Seconds)); }
public TimeSpan GetTimeRemaining(bool untilStart) { return(untilStart ? StartTime.Subtract(DateTime.Now) : ExpireTime.Subtract(DateTime.Now)); }
/// <summary> /// Get the meeting duration in minutes. /// </summary> /// <returns></returns> public double GetDuration() { return(StartTime.Subtract(EndTime).TotalMinutes); }
private void btnMinus1Day_Click(object sender, EventArgs e) { StartTime = StartTime.Subtract(new TimeSpan(ONE_DAY, 0, 0, 0)); Redraw(); }
/// <summary> /// CSVファイルからSRTファイルに変換する /// </summary> /// <param name="source"></param> /// <param name="destination"></param> /// <remarks>字幕表示終了時刻は次の字幕表示開始時刻 or 文字数÷5秒の短い方</remarks> internal async Task Convert() { var source = this.FileName; var destination = Path.ChangeExtension(this.FileName, ".srt"); try { // ファイルからの入力は非同期に実施する await Task.Run(() => { long seqNo = 1; var reg = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"); var srts = new List <TSrt>(); var baseDateTime = DateTime.MinValue; try { // CSV入力 using (var fs = new System.IO.FileStream(source, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (var sr = new StreamReader(fs, Encoding.UTF8)) { // ファイルの終わりまで入力する while (!sr.EndOfStream) { var s = sr.ReadLine(); var items = reg.Split(s); var messageTime = DateTime.Parse(items[0].Substring(1, items[0].Length - 2)); var name = items[1].Substring(1, items[1].Length - 2); var message = items[2].Substring(1, items[2].Length - 2); var translateText = items[3].Substring(1, items[3].Length - 2); this.Message = $"Read CSV File : SeqNo={seqNo}"; srts.Add(new TSrt() { SeqNo = seqNo++, StartTime = messageTime, EndedTime = messageTime.AddSeconds(Math.Max(Math.Ceiling((Double)message.Length / 5), 3)), Subtitle = message, }); } sr.Close(); } } // 字幕加工 for (var index = 0; index <= srts.Count - 2; index++) { this.Message = $"Check lines : SeqNo={srts[index].SeqNo}"; if (srts[index].EndedTime > srts[index + 1].StartTime) { srts[index].EndedTime = srts[index + 1].StartTime; } } // ファイル出力 if (srts.Count > 0) { baseDateTime = srts[0].StartTime.AddSeconds(-this.OffsetSec); } using (var fs = new System.IO.FileStream(destination, FileMode.Create, FileAccess.Write, FileShare.None)) { using (var sw = new StreamWriter(fs, Encoding.UTF8)) { foreach (var srt in srts) { var writedata = $"{srt.SeqNo}{Environment.NewLine}{srt.StartTime.Subtract(baseDateTime):hh\\:mm\\:ss\\,fff} --> {srt.EndedTime.Subtract(baseDateTime):hh\\:mm\\:ss\\,fff}{Environment.NewLine}{srt.Subtitle}{Environment.NewLine}"; sw.WriteLine(writedata); this.Message = $"Write SRT File : SeqNo={srt.SeqNo}"; } sw.Close(); } } this.Message = "End of file"; } catch (Exception ex) { OnThrew(ex); } }); } catch { } }
public ulong ToUInt64() { return((ulong)SequentialCount | ((ulong)StartTime.Subtract(ValveEpoch).TotalSeconds << 20) | ((ulong)ProcessId << 50) | ((ulong)BoxId << 54)); }