Convertir le temps Unix avec PowerShell
Je suis de l'analyse d'une base de données SQLite en utilisant le PowerShell SQLite module, et un couple de valeurs de retour sont créés et modifiés, qui sont tous les deux en temps Unix.
Ce que je voudrais faire est en quelque sorte de les convertir en "temps humain". J'ai supprimé quelques autres requêtes SQL pour en faciliter la lecture.
Import-Module SQLite
mount-sqlite -name GoogleDrive -dataSource E:\Programming\new.db
$cloud_entry = Get-ChildItem GoogleDrive:\cloud_entry
foreach ($entry in $cloud_entry)
{
$entry.created
}
Je suis allé avec les éléments suivants:
$ctime = $entry.created
[datetime]$origin = '1970-01-01 00:00:00'
$origin.AddSeconds($ctime)
La sortie ressemble à une grande colonne de timestamps Unix:
1337329458
InformationsquelleAutor mrwh1t3 | 2012-05-28
Vous devez vous connecter pour publier un commentaire.
Voir Convertir un timestamp Unix pour une .NET DateTime.
Vous pouvez facilement reproduire ce en PowerShell.
[datetime]$origin = '1970-01-01 00:00:00'
fonctionne tout aussi bien, et est peut-être un peu plus facile à comprendreUn simple one-liner:
Utilisation:
FromUnixTimeMilliseconds
est également disponible.ToString("s"): Sortable: "La tendance reflète une norme définie (ISO 8601)"
Réf.: Standard de Format de Date et Heure de Chaînes, Les Sortable ("s") Spécificateur de Format