Question Accélérer la conversion de Timestamps

Plus d'informations
il y a 15 ans 1 mois #9303 par Thierry
Bonjour à tous,

Je vous sollicite de nouveau pour savoir si la méthode que j'utilise ci-dessous pour convertir des timestamps peut-être optimisée...en effet pour convertir près de 8000 timestamps mon ordi (7, i7) met environ 5 minutes...c'est long.

Selon vous existe t'il une solution pour accélerer le processus ?

Le script extrait dans une variable les champs provenant d'un fichier SQLite.

Ensuite j'extrais de cette variable tous les timestamps, je les passe à \"sort -unique\" et je les convertis l'un après l'autre en date lisible (UTC).

A chaque étape je modifie la variable d'origine en remplaçant le timestamp traité par la date lisible...

Merci par avance de vos conseils.


[code:1]
if ($unix) # si la variable n'est pas vide
{

foreach ($timestamp in $unix)
{

$date = [DOUBLE]$timestamp
$datesimple = $date / 1000000
$horo = get-date -year 1601 -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0

$horo = $horo.AddSeconds($datesimple)
$horo = get-date $horo -uformat \"%e/%m/%Y %T\"


$file = $file -replace $timestamp , $horo


} # fin foreach
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #9304 par xyz
Salut,
le premier appel à Get-Date peut être placé en dehors de la boucle et pour le second appel utilise l'opérateur de formatage -F (à tester).
Et essaie de créer une collection d'objet au lieu d'écrire dans le fichier à chaque itération.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #9317 par Thierry
Salut,

j'ai essayé de déplacer le 1er appel à get-date mais j'obtiens une erreur :

[code:1]L'appel de la méthode a échoué parce que [System.String] ne contient pas de méthode nommée « AddSeconds ».
Au niveau de D:\Informatique\Programmation\PowerShell\Scripts\Xtract\Xtract-dev\scripts\Chrome.ps1 : 357 Caractère : 65
+ $horo = $horo.AddSeconds <<<< ($datesimple)
+ CategoryInfo : InvalidOperation: (AddSeconds:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound[/code:1]


C'est étrange car dès que je sort $horo de la boucle il le voit comme un objet \"string\"...j'ai pas compris.

Et essaie de créer une collection d'objet au lieu d'écrire dans le fichier à chaque itération.


Pour moi les Array et les collections étaient la même chose mais a priori ce n'est pas le cas...pourrais tu préciser SVP...

Je n'ai pas encore eu le temps de voir ce qu'il en est de l'opérateur de formatage -f...je vais creuser un peu

Merci

Thierry

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #9319 par xyz
thierry92 écrit:

j'ai essayé de déplacer le 1er appel à get-date mais j'obtiens une erreur :

je parlais de celui-là :
[code:1]
$horo = get-date -year 1601 -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0
[/code:1]
thierry92 écrit:

Pour moi les Array et les collections étaient la même chose mais a priori ce n'est pas le cas...pourrais tu préciser SVP...

Au temps pour moi %-\, il n'y a pas d'accès fichier.
thierry92 écrit:

Je n'ai pas encore eu le temps de voir ce qu'il en est de l'opérateur de formatage -f...je vais creuser un peu

Voir le dernier lien ici .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #9320 par Thierry
salut,

C'est bien le premier que j'ai déplacé...

merci pour le lien :)

Thierry

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.042 secondes
Propulsé par Kunena