C#獲取一個指定范圍內的隨機日期函數代碼
這個C#函數可以傳入兩個日期類型(DateTime)的參數,一個開始日期,一個結束日期,函數將會隨機返回在這個范圍內的日期,這個函數非常有 用,比如我們要隨機生成一些文章,但又不希望文章的日期都一樣,通過這個函數就可以隨機生成一些日期寫入數據庫,這樣就不會讓人看出來這些文章是批量插入 的。
/// <summary> /// 得到隨機日期 /// </summary> /// <param name="time1">起始日期</param> /// <param name="time2">結束日期</param> /// <returns>間隔日期之間的 隨機日期</returns> public static DateTime GetRandomTime(DateTime time1, DateTime time2) { Random random = new Random(); DateTime minTime = new DateTime(); DateTime maxTime = new DateTime();System.TimeSpan ts = new System.TimeSpan(time1.Ticks - time2.Ticks); // 獲取兩個時間相隔的秒數 double dTotalSecontds = ts.TotalSeconds; int iTotalSecontds = 0; if (dTotalSecontds > System.Int32.MaxValue) { iTotalSecontds = System.Int32.MaxValue; } else if (dTotalSecontds < System.Int32.MinValue) { iTotalSecontds = System.Int32.MinValue; } else { iTotalSecontds = (int)dTotalSecontds; } if (iTotalSecontds > 0) { minTime = time2; maxTime = time1; } else if (iTotalSecontds < 0) { minTime = time1; maxTime = time2; } else { return time1; } int maxValue = iTotalSecontds; if (iTotalSecontds <= System.Int32.MinValue) maxValue = System.Int32.MinValue + 1; int i = random.Next(System.Math.Abs(maxValue)); return minTime.AddSeconds(i); }</pre>
本文由用戶 fdwm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!