2017-10-21 141 views
0

我可以用這個PowerShell命令獲取存儲錶行:如何獲取azure存儲表的時間戳作爲字符串?

$temp_table_name = "MY_TABLE_NAME" 
$saContext = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccount).Context 
$temp_table = Get-AzureStorageTable -Name $temp_table_name -Context $saContext 
$result = Get-AzureStorageTableRowAll -table $temp_table 

我在我的表中的兩個時間戳,一個是天藍色的表本身的名稱Timestamp,另一種是用於度量(自動存儲)與名TIMESTAMP 。那麼$result[0]的結果就像波紋管:

Average  : 3228132966.4 
Count  : 240 
CounterName : \Memory\AvailableMemory 
DeploymentId : 2c90752b-100f-4640-a056-e2b894bf5bd5 
Host   : cpuusagetest 
Last   : 3230662656 
Maximum  : 3231711232 
Minimum  : 3225419776 
TIMESTAMP : 10/16/2017 10:00:00 PM 
Total  : 774751911936 
PartitionKey : ************* 
RowKey  : ***************__:005CMemory:005CAvailableMemory 
Etag   : W/"datetime'2017-10-16T23%3A00%3A05.5000867Z'" 

我不知道爲什麼會出現只是TIMESTAMP,另一種是Etag!在結果中。反正我可以使用這個命令來獲得時間戳:

$result[0].Timestamp 

它總是會返回一個字符串如10/16/2017 23:00:00,但在表的行它的儲存像2017-10-16T23:30:00.000。我需要獲得存儲在存儲表中的格式。
我試圖改變使用這樣的命令格式:

[String]$result[0].Timestamp 
or 
$result[$j].Timestamp.toString("s") 

但結果是一樣的。
請注意,當我使用$result[$j].Timestamp.GetType().FullName結果是System.DateTime,然後在我的表中的 timestamp屬性的類型是DateTime,我不能(不願)去改變它。
it's a screenshot of my Azure Storage Explorer that is showing that I have Minute & Second & milliseconds in my Timestamp 以上就是我的Azure存儲資源管理器的截圖是表明我有我的時間戳

但分&二&毫秒,當我使用這個命令:

$result[$j].Timestamp.toString("s") 

結果是不小號和秒...
我甚至測試這些命令太:

"{0:MM/dd/yyyy hh:mm:ss}" -f $result[$j].Timestamp 

但結果是類似10/16/2017 10:00:00
你能指導我嗎?

回答

1

提供DateTime類型d,命令d.ToString(「S」)的任何對象將歸還的日期對象在格式2017-10-16T23:30:00.000

如果有一個字符串和需要將其轉換爲datetime,下面將不同格式的日期字符串之間進行轉換:

[DateTime]::Parse("10/16/2017 23:00:00").ToString("s") 

通過上述評價爲「2017-10-16T23:30:00.000」

+0

是的,這改變格式,但我會失去細分,秒和毫秒,因爲當我得到信息從存儲表中刪除,它會改變格式,它會刪除這些東西!當我將它解析爲字符串時,它將被刪除...:( –

+0

不知道爲什麼你認爲它會刪除分鐘和秒 - 如果內部存儲類型是一個DateTime,那麼一個ToString(「s」)'會以「格式相同的格式返回那個行的時間戳存儲「(作爲一個旁路 - 如果'$ result [0] .TIMESTAMP'已經是'DateTime',不需要解析 - 只是'ToString()'它)也就是說,也許你需要告訴我們爲什麼你需要將它轉換爲字符串,以及你在做什麼 - 可能有其他解決方案來解決你想要解決的問題 –

+0

@BrendanGreen我已經添加了一些信息,我需要這個時間戳,因爲它是系統的指標它們自動存儲在Azure存儲表中,同一時間戳(如CPU,內存,網絡等)有幾種度量類型,我需要將同一時間戳的所有分隔的度量行合併到一行,將它存儲到另一個表中。 –

相關問題