Powershell v2 - 从动态字符串中提取日期
Powershell v2 - Extracting Date from a dynamic string
我有这样的字符串:
\aaaaaaaaa\bbbbb\ccccc\ffffffff20160506
日期之前的部分是动态的,所以我无法进行替换或子字符串 - 该部分的内容和字符数都可以更改。
你能告诉我如何将该日期提取到变量中吗?
我不太喜欢 powershell,但我想你可以这样做,
尽管字符串是动态的,但日期部分恰好是 8 个字符,对吗?那么如果你得到全长并减去 8 个字符并从该索引中得到子字符串呢?
示例:
string= \aaaaaaaaa\bbbbb\ccccc\DDDDD_yyyyMMdd length = 37 point=37-8 =
29
subsctring(9,37)
假设日期总是在字符串的末尾并且采用 yyyyMMdd 格式:
$foo = "\aaaaaaaaa\bbbbb\ccccc\ffffffff20160506"
$datevar = $foo.substring($foo.length-8)
如果您想将该字符串转换为 DateTime 对象,您可以使用:
$datevar = [datetime]::ParseExact($datevar, "yyyyMMdd",$null)
我有这样的字符串:
\aaaaaaaaa\bbbbb\ccccc\ffffffff20160506
日期之前的部分是动态的,所以我无法进行替换或子字符串 - 该部分的内容和字符数都可以更改。
你能告诉我如何将该日期提取到变量中吗?
我不太喜欢 powershell,但我想你可以这样做,
尽管字符串是动态的,但日期部分恰好是 8 个字符,对吗?那么如果你得到全长并减去 8 个字符并从该索引中得到子字符串呢?
示例:
string= \aaaaaaaaa\bbbbb\ccccc\DDDDD_yyyyMMdd length = 37 point=37-8 = 29
subsctring(9,37)
假设日期总是在字符串的末尾并且采用 yyyyMMdd 格式:
$foo = "\aaaaaaaaa\bbbbb\ccccc\ffffffff20160506"
$datevar = $foo.substring($foo.length-8)
如果您想将该字符串转换为 DateTime 对象,您可以使用:
$datevar = [datetime]::ParseExact($datevar, "yyyyMMdd",$null)