格式化日期时间字符串 Get-Date -Uformat , -format
?
標(biāo)準(zhǔn)的DateTime格式字符串:
d 區(qū)域性的短日期 ? “{0:D}” -f [DateTime] "01/23/4567" ? 結(jié)果: 1/23/4567
d 區(qū)域性的長日期 ? “{0:d}” -f [DateTime] "01/23/4567" ? 結(jié)果:Friday, January 23, 4567
f ?組合的長日期和短時(shí)間?? “{0:f}” -f [DateTime] "01/23/4567" ? 結(jié)果:Friday, January 23, 4567 12:00 AM
F?組合的長日期和長時(shí)間?? “{0:F}” -f [DateTime] "01/23/4567" ? 結(jié)果:Friday, January 23, 4567 12:00:00 AM
g ?合并的短日期和短時(shí)間 ?“{0:g}” -f [DateTime] "01/23/4567" ? 結(jié)果:1/23/4567 12:00 AM
G ?合并的短日期和短時(shí)間 ?“{0:G}” -f [DateTime] "01/23/4567" ? 結(jié)果:1/23/4567 12:00:00 AM
M或m 區(qū)域性的月/天 ? ? ???“{0:M}” -f [DateTime] "01/23/4567" ? 結(jié)果:?January 23
o ?將日期格式轉(zhuǎn)化為原始的DataTime ???“{0:o}” -f [DateTime] "01/23/4567" ? 結(jié)果: 4567-01-23T00:00:00.0000000
R或r ?標(biāo)準(zhǔn)的RFC1123格式 ?“{0:R}” -f [DateTime] "01/23/4567" ? 結(jié)果:Fri, 23 Jan 4567 00:00:00 GMT
t ? 區(qū)域性的短時(shí)間 ? "{0:t}" -f?[DateTime] "01/23/4567" ? 結(jié)果:12:00 AM
T ?區(qū)域性的長時(shí)間 ? "{0:T}" -f?[DateTime] "01/23/4567" ? 結(jié)果:12:00:00 AM
u ?應(yīng)用于UTC區(qū)域性的通用的日期格式??"{0:u}" -f?[DateTime] "01/23/4567" ? 結(jié)果:4557-01-23 00:00:00z
U ?應(yīng)用于UTC區(qū)域性的通用的日期格式??"{0:U}" -f?[DateTime] "01/23/4567" ? 結(jié)果:Friday, January 23, 4567 8:00:00 AM ?本地時(shí)間轉(zhuǎn)換為UTC
Y或y ?區(qū)域性的年/月 ??"{0:Y}" -f?[DateTime] "01/23/4567" ? 結(jié)果:January, 4567
Local->UTC??DateTime.ToUniversalTime()UTC->Local??DateTime.ToLocalTime()?
?
?
自定義格式化日期時(shí)間字符串:
$yes = (get-date).adddays(-1)?
get-date -date $yes -uformat "%Y/%m/%d" ?輸出: 2014/06/23
$yes.tostring("yyyy/MM/dd") 輸出:2014/06/23或者 2014-06-23 ,與本機(jī)時(shí)間格式設(shè)置有關(guān) (大M是minute,小m是month)
$yes.tostring("yyyy\/MM\/dd")??輸出: 2014/06/23
get-date -date $yes -format "yyyy/MM/dd"?輸出:2014/06/23或者 2014-06-23?,與本機(jī)時(shí)間格式設(shè)置有關(guān)
get-date -date $yes -format "yyyy\/MM\/dd"?輸出: 2014/06/23
或者?
?
$getDate = Get-Date -Date '05/09/2012 1:23 PM' -Format 'dd-MM-yyyy hh:mm:ss'
使用字符串格式化(-f)運(yùn)算符:
$date = [DateTime] '03/27/2021 1:19 PM';
$getDate = '{0: dd-MM-yyyy hh:mm:ss}' -f $date
[datetime]$time="17:40"
([datetime]$time).addminutes("1").tostring("HH:mm") ??輸出:17:41
?
========================================================================
時(shí)間轉(zhuǎn)換(面的string長度必須要和指定的要轉(zhuǎn)換的格式長度一樣):
[datetime]::ParseExact("20141008085412", "yyyyMMddHHmmss", $null) #$null表示使用當(dāng)前的Culture
自定義Culture:
new-object Globalization.CultureInfo 'en-US'
取當(dāng)前Culture:
Get-Culture ?, Get-UICulture
當(dāng)前系統(tǒng)啟動(dòng)時(shí)間:
[System.Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject -Query "select LastBootUpTime from win32_operatingsystem" | Select-Object -ExpandProperty LastBootUpTime))
========================================================================
?
Format 格式:
d
顯示月份的當(dāng)前日期,以 1 到 31 之間的一個(gè)數(shù)字表示,包括 1 和 31。如果日期只有一位數(shù)字 (1-9),則它顯示為一位數(shù)字。 請(qǐng)注意,如果“d”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)短日期模式格式說明符。
如果“d”格式說明符與其他自定義格式說明符或者“%”字符一起傳遞,則它被解釋為自定義格式說明符。
dd
顯示月份的當(dāng)前日期,以 1 到 31 之間的一個(gè)數(shù)字表示,包括 1 和 31。如果日期只有一位數(shù)字 (1-9),則將其格式化為帶有前導(dǎo) 0 (01-09)。 ddd 顯示指定的 DateTime 的日期部分縮寫名稱。如果未提供特定的有效格式提供程序(實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider 的非空對(duì)象),則使用 DateTimeFormat 的 AbbreviatedDayNames 屬性及其與當(dāng)前所使用線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用來自指定格式提供程序的 AbbreviatedDayNames 屬性。
dddd(外加任意數(shù)量的附加“d”字符)
顯示指定的 DateTime 的日期全名。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則使用 DateTimeFormat 的 DayNames 屬性及其與當(dāng)前所使用線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用來自指定格式提供程序的 DayNames 屬性。
f
顯示秒部分的最高有效位。
請(qǐng)注意,如果“f”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為完整的(長日期 + 短時(shí)間)格式說明符。如果“f”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
ff 顯示秒部分的兩個(gè)最高有效位。
fff 顯示秒部分的三個(gè)最高有效位。
ffff 顯示秒部分的四個(gè)最高有效位。
fffff 顯示秒部分的五個(gè)最高有效位。
ffffff 顯示秒部分的六個(gè)最高有效位。
fffffff 顯示秒部分的七個(gè)最高有效位。
F 顯示秒部分的最高有效位。如果該位為零,則不顯示任何信息。
FF 顯示秒部分的兩個(gè)最高有效位。但不顯示尾隨零(或兩個(gè)零位)。
FFF 顯示秒部分的三個(gè)最高有效位。但不顯示尾隨零(或三個(gè)零位)。
FFFF 顯示秒部分的四個(gè)最高有效位。但不顯示尾隨零(或四個(gè)零位)。
FFFFF 顯示秒部分的五個(gè)最高有效位。但不顯示尾隨零(或五個(gè)零位)。
FFFFFF 顯示秒部分的六個(gè)最高有效位。但不顯示尾隨零(或六個(gè)零位)。
FFFFFFF 顯示秒部分的七個(gè)最高有效位。但不顯示尾隨零(或七個(gè)零位)。
g 或 gg(外加任意數(shù)量的附加“g”字符)
顯示指定的 DateTime 的年代部分(例如 A.D.)。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則年代由與 DateTimeFormat 關(guān)聯(lián)的日歷及其與當(dāng)前線程關(guān)聯(lián)的當(dāng)前區(qū)域性確定。
請(qǐng)注意,如果“g”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)常規(guī)格式說明符。如果“g”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
h
以 1 到 12 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的小時(shí)數(shù),該小時(shí)數(shù)表示自午夜(顯示為 12)或中午(也顯示為 12)后經(jīng)過的整小時(shí)數(shù)。如果單獨(dú)使用這種格式,則無法區(qū)別某一小時(shí)是中午以前還是中午以后的時(shí)間。如果該小時(shí)是單個(gè)數(shù)字 (1-9),則它顯示為單個(gè)數(shù)字。顯示小時(shí)時(shí)不發(fā)生任何舍入。例如,DateTime 為 5:43 時(shí)返回 5。
hh, hh(外加任意數(shù)量的附加“h”字符)
以 1 到 12 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的小時(shí)數(shù),該小時(shí)數(shù)表示自午夜(顯示為 12)或中午(也顯示為 12)后經(jīng)過的整小時(shí)數(shù)。如果單獨(dú)使用這種格式,則無法區(qū)別某一小時(shí)是中午以前還是中午以后的時(shí)間。如果該小時(shí)是單個(gè)數(shù)字 (1-9),則將其格式化為前面帶有 0 (01-09)。
H
以 0 到 23 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的小時(shí)數(shù),該小時(shí)數(shù)表示自午夜(顯示為 0)后經(jīng)過的整小時(shí)數(shù)。如果該小時(shí)是單個(gè)數(shù)字 (0-9),則它顯示為單個(gè)數(shù)字。
HH, HH(外加任意數(shù)量的附加“H”字符)
以 0 到 23 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的小時(shí)數(shù),該小時(shí)數(shù)表示自午夜(顯示為 0)后經(jīng)過的整小時(shí)數(shù)。如果該小時(shí)是單個(gè)數(shù)字 (0-9),則將其格式化為前面帶有 0 (01-09)。
m
以 0 到 59 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的分鐘數(shù),該分鐘數(shù)表示自上一小時(shí)后經(jīng)過的整分鐘數(shù)。如果分鐘是一位數(shù)字 (0-9),則它顯示為一位數(shù)字。 請(qǐng)注意,如果“m”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)的月日模式格式說明符。如果“m”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
mm, mm(外加任意數(shù)量的附加“m”字符)
以 0 到 59 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的分鐘數(shù),該分鐘數(shù)表示自上一小時(shí)后經(jīng)過的整分鐘數(shù)。如果分鐘是一位數(shù)字 (0-9),則將其格式化為帶有前導(dǎo) 0 (01-09)。
M
顯示月份,以 1 到 12 之間(包括 1 和 12)的一個(gè)數(shù)字表示。如果月份是一位數(shù)字 (1-9),則它顯示為一位數(shù)字。 請(qǐng)注意,如果“M”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)的月日模式格式說明符。如果“M”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
MM
顯示月份,以 1 到 12 之間(包括 1 和 12)的一個(gè)數(shù)字表示。如果月份是一位數(shù)字 (1-9),則將其格式化為帶有前導(dǎo) 0 (01-09)。
MMM
顯示指定的 DateTime 的月部分縮寫名稱。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則使用 DateTimeFormat 的 AbbreviatedMonthNames 屬性及其與當(dāng)前線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用來自指定格式提供程序的 AbbreviatedMonthNames 屬性。
MMMM
顯示指定的 DateTime 的月的全名。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則使用 DateTimeFormat 的 MonthNames 屬性及其與當(dāng)前線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用來自指定格式提供程序的 MonthNames 屬性。
s
以 0 到 59 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的秒數(shù),該秒數(shù)表示自上一分鐘后經(jīng)過的整秒數(shù)。如果秒是一位數(shù)字 (0-9),則它僅顯示為一位數(shù)字。 請(qǐng)注意,如果“s”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)的可排序日期/時(shí)間模式格式說明符。如果“s”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
ss, ss(外加任意數(shù)量的附加“s”字符)
以 0 到 59 范圍中的一個(gè)數(shù)字顯示指定的 DateTime 的秒數(shù),該秒數(shù)表示自上一分鐘后經(jīng)過的整秒數(shù)。如果秒是一位數(shù)字 (0-9),則將其格式化為帶有前導(dǎo) 0 (01-09)。
t
顯示指定的 DateTime 的 A.M./P.M. 指示項(xiàng)的第一個(gè)字符。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)屬性及其與當(dāng)前線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用
來自指定 IFormatProvider 的 AMDesignator(或 PMDesignator)屬性。如果對(duì)于指定的 DateTime 所經(jīng)過的總整小時(shí)數(shù)小于 12,則使用 AMDesignator。否則,使用 PMDesignator。 請(qǐng)注意,如果“t”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)的長時(shí)間模式格式說明符。如果“t”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
tt, tt(外加任意數(shù)量的附加“t”字符)
顯示指定的 DateTime 的 A.M./P.M. 指示項(xiàng)。如果未提供特定的有效格式提供程序(一個(gè)非空對(duì)象,可實(shí)現(xiàn)具有預(yù)期屬性的 IFormatProvider),則使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)屬性及其與當(dāng)前線程關(guān)聯(lián)的當(dāng)前區(qū)域性。否則,使用來自指定 IFormatProvider 的 AMDesignator(或 PMDesignator)屬性。如果對(duì)于指定的 DateTime 所經(jīng)過的總整小時(shí)數(shù)小于 12,則使用 AMDesignator。否則,使用 PMDesignator。
y
最多用兩位數(shù)字顯示指定的 DateTime 的年份。忽略年的前兩位數(shù)字。如果年份是一位數(shù)字 (1-9),則它顯示為一位數(shù)字。
請(qǐng)注意,如果“y”格式說明符單獨(dú)使用,沒有其他自定義格式字符串,則它被解釋為標(biāo)準(zhǔn)短日期模式格式說明符。如果“y”格式說明符與其他自定義格式說明符或“%”字符一起傳遞,則它被解釋為自定義格式說明符。
yy
最多用兩位數(shù)字顯示指定的 DateTime 的年份。忽略年的前兩位數(shù)字。如果年份是一位數(shù)字 (1-9),則將其格式化為帶有前導(dǎo) 0 (01-09)。
yyyy 顯示指定的 DateTime 的年份部分(包括紀(jì)元)。如果年份長度小于四位,則按需要在前面追加零以使顯示的年份長度達(dá)到四位。
z
僅以整小時(shí)數(shù)為單位顯示系統(tǒng)當(dāng)前時(shí)區(qū)的時(shí)區(qū)偏移量。偏移量總顯示為帶有前導(dǎo)符號(hào)(零顯示為“+0”),指示早于格林威治時(shí)間 (+) 或遲于格林威治時(shí)間 (-) 的小時(shí)數(shù)。值的范圍是 -12 到 +13。如果偏移量為一位數(shù) (0-9),則將其顯示為帶有合適前導(dǎo)符號(hào)的一位數(shù)。時(shí)區(qū)設(shè)置以 +X 或 –X 的形式指定,其中 X 是相對(duì)于 GMT 的小時(shí)偏差。顯示的偏差受夏時(shí)制的影響。
zz
僅以整小時(shí)數(shù)為單位顯示系統(tǒng)當(dāng)前時(shí)區(qū)的時(shí)區(qū)偏移量。偏移量總顯示為帶有前導(dǎo)或尾隨符號(hào)(零顯示為“+00”),指示早于格林威治時(shí)間 (+) 或遲于格林威治時(shí)間 (-) 的小時(shí)數(shù)。值范圍為 -12 到 +13。如果偏移量為一位數(shù) (0-9),則將其格式化為前面帶有 0 (01-09) 并帶有適當(dāng)?shù)那皩?dǎo)符號(hào)。時(shí)區(qū)設(shè)置以 +X 或 –X 的形式指定,其中 X 是相對(duì)于 GMT 的小時(shí)偏差。顯示的偏差受夏時(shí)制的影響。
zzz, zzz(外加任意數(shù)量的附加“z”字符)
以小時(shí)和分鐘為單位顯示系統(tǒng)當(dāng)前時(shí)區(qū)的時(shí)區(qū)偏移量。偏移量總是顯示為帶有前導(dǎo)或尾隨符號(hào)(零顯示為“+00:00”),指示早于格林威治時(shí)間 (+) 或遲于格林威治時(shí)間 (-) 的小時(shí)數(shù)。值范圍為 -12:00 到 +13:00。如果偏移量為一位數(shù) (0-9),則將其格式化為前面帶有 0 (01-09) 并帶有適當(dāng)?shù)那皩?dǎo)符號(hào)。時(shí)區(qū)設(shè)置以 +X 或 –X 的形式指定,其中 X 是相對(duì)于 GMT 的小時(shí)偏差。顯示的偏差受夏時(shí)制的影響。
: 時(shí)間分隔符。
/ 日期分隔符。
" 帶引號(hào)的字符串。顯示轉(zhuǎn)義符 (/) 之后兩個(gè)引號(hào)之間的任何字符串的文本值。
' 帶引號(hào)的字符串。顯示兩個(gè)“'”字符之間的任何字符串的文本值。
%c 其中 c 既是標(biāo)準(zhǔn)格式說明符又是自定義格式說明符,顯示與格式說明符關(guān)聯(lián)的自定義格式模式。
請(qǐng)注意,如果格式說明符作為單個(gè)字符來單獨(dú)使用,它將被解釋成標(biāo)準(zhǔn)格式說明符。只有包含兩個(gè)或更多字符的格式說明符被解釋為自定義格式說明符。說明符可以被同時(shí)定義為標(biāo)準(zhǔn)和自定義格式說明符,要顯示此種說明符的自定義格式,請(qǐng)?jiān)谡f明符之前加“%”符號(hào)。
\c 其中 c 是任意字符,轉(zhuǎn)義符將下一個(gè)字符顯示為文本。在此上下文中,轉(zhuǎn)義符不能用于創(chuàng)建轉(zhuǎn)義序列(如“\n”表示換行)。
轉(zhuǎn)載于:https://www.cnblogs.com/dreamer-fish/p/3805726.html
總結(jié)
以上是生活随笔為你收集整理的格式化日期时间字符串 Get-Date -Uformat , -format的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。