利用程序產生區間的隨機時間?

Tags: 時間, 區間, 程序,

獲取當前時間,編輯當前時間,通過一定的加減運算可以實現,但是有時候想要獲得一定區間的隨機時間,可能是為了滿足隨機性,減少重複的要求,利用程序產生區間的隨機時間就非常有必要,也非常簡單,就是利用“時間加減運算”來實現。

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

工具/原料

知曉整個流程思路

方法/步驟

簡單思路就是調用方法,在方法中實現不同目的。

//傳入方法要求的參數數據,返回隨機時間(字符串)

RT("2015-09-23", "2015-09-23", "08:00:00", 12 * 60 * 60));

//直接調用方法,返回隨機時間(字符串)

RandomTime();

//需要傳入參數的隨機時間生成方法

private static string RT(string ymds, string ymdb, string hmss, int seconds)

{}

//無需參數的隨機時間生成方法

private static string RandomTime()

{}

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

簡單測試語法結構,通過1000次的隨機產生來模擬生成隨機時間。

for (int i = 0; i < 1000; i++)

{

Console.WriteLine(i + 1);

Console.WriteLine("RT產生的區間隨機時間:" + RT("2015-09-23", "2015-09-23", "08:00:00", 12 * 60 * 60));

Console.WriteLine("");

Console.WriteLine("Random產生的區間隨機時間:" + RandomTime());

Console.WriteLine("");

//停頓一段時間,是為了避免隨機時間產生的原理漏洞。

System.Threading.Thread.Sleep(700);

}

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

//需要傳入參數的隨機時間生成方法

//傳入參數依次是起始日期、結束日期、開始時間、間隔秒數

private static string RT(string ymds, string ymdb, string hmss, int seconds)

{

//生成起始日期和結束日期之間的隨機日期

string ymd = DateTime.Parse(ymds).AddDays(new Random().Next((DateTime.Parse(ymdb) - DateTime.Parse(ymds)).Days + 1)).ToString("yyyy-MM-dd");

//生成開始時間加上一定間隔秒數的隨機時間

string hms = DateTime.Parse(hmss).AddSeconds(new Random().Next(seconds)).ToString("HH:mm:ss");

//返回隨機時間

return Convert.ToDateTime(ymd + " " + hms).ToString("yyyy-MM-dd HH:mm:ss");

}

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

無需參數的隨機時間生成方法

private static string RandomTime()

{

//默認設置起始日期

string ymds = "2015-09-21";

//默認設置結束日期

string ymdb = DateTime.Today.ToString("yyyy-MM-dd");//當前時間

//默認設置開始時間

string hmss = "08:00:00";

//默認設置間隔秒數

int seconds = 12 * 60 * 60;

//生成起始日期和結束日期之間的隨機日期

string ymd = DateTime.Parse(ymds).AddDays(new Random().Next((DateTime.Parse(ymdb) - DateTime.Parse(ymds)).Days + 1)).ToString("yyyy-MM-dd");

//生成開始時間加上一定間隔秒數的隨機時間

string hms = DateTime.Parse(hmss).AddSeconds(new Random().Next(seconds)).ToString("HH:mm:ss");

//返回隨機時間

return Convert.ToDateTime(ymd + " " + hms).ToString("yyyy-MM-dd HH:mm:ss");

}

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

測試結果顯示為:

23

RT產生的區間隨機時間:2015-09-23 09:31:14

Random產生的區間隨機時間:2015-09-27 09:31:14

24

RT產生的區間隨機時間:2015-09-23 18:25:53

Random產生的區間隨機時間:2015-10-28 16:28:05

...

兩個調用方法的原理其實是一樣的,根據需要來調用不同的方法。

RT方法調用更具靈活性,根據傳入參數來生成一定區間的隨機時間。

RandomTime方法比較固定,省去了傳入參數的麻煩,如若修改比較麻煩。

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

利用程序產生區間的隨機時間

注意事項

不管是什麼程序,都要反思詳細測試才可上線使用。

相關問題答案