Powershell小技巧之獲取當前的時間并轉換為時辰
更新時間:2014年09月18日 11:26:05 投稿:hebedich
這篇文章主要介紹了使用Powershell獲取當前的時間并轉換為時辰的方法,非常簡單實用,有需要的朋友可以參考下
午時三刻已到,行刑,刀下留人,現在到底是不是午時,能否讓PowerShell告訴我呢?
好的, 沒問題。從晚上23點到凌晨2點之間屬于子時,每兩個小時一個時辰,依次為“子丑寅卯辰巳午未申酉戌亥”。
函數獲取當前時辰
用PowerShell腳本實現:
function Get-ChinaTimeAlias { param( [ValidateRange(0,23)] [int]$Hour = (get-date).Hour ) $timeAliasArray='子丑寅卯辰巳午未申酉戌亥' [int]$index=0 if($hour -eq 22){ $index=11 } else{ $index=[math]::Floor( ( $hour+1 ) % 23 / 2 ) } return $timeAliasArray[ $index ] + "時" }
獲取當前的時辰
PS> Get-Date
2014年9月17日 23:17:58
復制代碼 代碼如下:
PS> Get-ChinaTimeAlias
子時
獲取指定小時數對應的時辰
復制代碼 代碼如下:
PS> Get-ChinaTimeAlias 12
午時
打印所有的時辰和對應的時間段
輸入
$timeArray=@(23)+0..22 for($i=0;$i -lt $timeArray.Length; $i=$i+2) { $startHour = $timeArray[$i].ToString().PadLeft(2,'0') $endHour = $timeArray[$i+1].ToString().PadLeft(2,'0') $timeAlias = Get-ChinaTimeAlias $timeArray[$i] [pscustomobject]@{ 時辰 = $timeAlias; 時間段 = ('{0}:00-{1}:59' -f $startHour,$endHour) } }
輸出
復制代碼 代碼如下:
時辰 時間段
-- ---
子時 23:00-00:59
丑時 01:00-02:59
寅時 03:00-04:59
卯時 05:00-06:59
辰時 07:00-08:59
巳時 09:00-10:59
午時 11:00-12:59
未時 13:00-14:59
申時 15:00-16:59
酉時 17:00-18:59
戌時 19:00-20:59
亥時 21:00-22:59
總結
字符串本身就是字符數組,沒必要把子丑寅卯等單獨保存成數組。
用求模和22特殊處理有效規(guī)避 對每一個時辰單獨條件判斷。
相關文章
探索PowerShell (二) PowerShell的基本操作
這里介紹下如何打開powershell控制臺,在 程序>附件>windows powershell中即可,主要是界面不再是dos窗口,據說功能也增加了很多2012-12-12PowerShell包含另一個腳本文件和獲取當前腳本所在目錄的方法例子
這篇文章主要介紹了PowerShell包含另一個腳本文件和獲取當前腳本所在目錄的方法例子,需要的朋友可以參考下2014-08-08