Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6287 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Format datetime non respecté

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Format datetime non respecté

n°1754409
akalaan
Posté le 02-07-2008 à 09:55:07  profilanswer
 

Bonjour à tous,
 
J'ai fait un petit script CGI qui me remonte les données d'une BD SQL SERVER.
Le problème est que le champ date dans la BD est au format datetime donc 2008-07-01 09:36:01.000
mais lors de l'affichage, il me sort la date au format Jul 1 2008 09:36AM
 
Avez-vous une idée.
 
Voici le script tout bête :

Code :
  1. #!/usr/bin/perl -w
  2. print "Content-type: text/html\n\n";
  3. use strict;
  4. use CGI::Carp qw(fatalsToBrowser);
  5. use DBI;
  6. my $data_source = q/dbi:Sybase:MSSQL-TEST/;
  7. my $user = q/sa/;
  8. my $password = q/admin/;
  9. # Connect to the data source and get a handle for that connection.
  10. my $dbh = DBI->connect($data_source, $user, $password)
  11.      or die "Can't connect to $data_source: $DBI::errstr";
  12. #
  13. #
  14.      # Connexion à la base TEST
  15.      my $use = "use TEST";
  16.      my $sth = $dbh->prepare($use) or die "Can't connect to database: $DBI::errstr";
  17.      $sth->execute();
  18.      my $sql_inconnu = "SELECT [Date_Heure], [Compteur], [Type_Evenement], [Numero], [Valeur], [Numero_Site], [Description] FROM [TEST].[test].[MS_RETRO] WHERE [Type_Evenement] = 101 and [Description] like '\%inconnu\%' order by [Date_Heure]";
  19. #
  20.      # Prepare the statement.
  21.      $sth = $dbh->prepare($sql_inconnu) or die "Can't prepare statement: $DBI::errstr";
  22.      # Execute the statement.
  23.      if($sth->execute())#Execution de la commande
  24.      {
  25.         my $names = $sth->{'NAME'};#Nom de la colonne
  26.         my $numFields = $sth->{'NUM_OF_FIELDS'};#Nombre de champs
  27.         print "<table border='1'>\n<tr>\n";
  28.         print "<tr><th colspan='7'style='background-color:red'>Etat des Inconnus</th></tr>";
  29.         for (my $i = 0;  $i < $numFields;  $i++)
  30.         {
  31.                 print("<td>$$names[$i]</td>" );#Affichage du nom de chaque champs
  32.         }
  33.         print "</tr>\n<tr>\n";
  34.         while (my $ref = $sth->fetchrow_arrayref)#Récupère la ligne comme une référence de tableau de champs.
  35.         {
  36.                 for (my $j = 0;  $j < $numFields;  $j++)
  37.                 {
  38.                         print("<td>$$ref[$j]</td>" );#Affiche les données de chaque champs
  39.                 }
  40.         print "</tr>";
  41.         }
  42. print "</table>";
  43. }


mood
Publicité
Posté le 02-07-2008 à 09:55:07  profilanswer
 

n°1754498
couak
Posté le 02-07-2008 à 12:01:22  profilanswer
 

ca m'a plus l'air d'un problème de formattage de date côté SQL Server

n°1754504
akalaan
Posté le 02-07-2008 à 12:16:02  profilanswer
 

Peut être mais je n'en suis pas sure.
 
J'ai un script en php faisant également une requête sur cette base, et la remontée de date se fait sans modif.
 
 

n°1754526
gilou
Modérateur
Modosaurus Rex
Posté le 02-07-2008 à 12:52:24  profilanswer
 

Citation :

Le problème est que le champ date dans la BD est au format datetime donc 2008-07-01 09:36:01.000

datetime, c'est stoqué en interne sur 4 octets par SQL Server
C'est SQL Server qui fait par défaut le format de sortie que tu as: http://msdn.microsoft.com/en-us/li [...] L.80).aspx
0 (default) mon dd yyyy hh:miAM (or PM)
Il doit y avoir moyen de modifier ça, mais je ne suis pas spécialiste.
A+,


Message édité par gilou le 02-07-2008 à 13:09:36

---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°1754550
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-07-2008 à 13:43:56  profilanswer
 

CONVERT(DATETIME,date_heure,format) et voir le lien de gilou pour la liste des formats possibles.

 

Sinon voir les variables d'environnements de DBD, je crois  que tu en as une sur le format de sortie des dates.


Message édité par anapajari le 02-07-2008 à 13:44:55

---------------
Software and cathedrals are much the same - first we build them, then we pray.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Format datetime non respecté

 

Sujets relatifs
[SQL Server] Bulk insert et format des datesFormat de cellules de DataGridView
Format et précision d'un float (google n'est pas mon amis). DebutantProblème de format de date SQL
Format date US-FRGénération image au format PDF Haute Def CMJN
Format des variables sous VBGénérer des mail quel format de fichiers?
Générer des mail quel format de fichier?problème d'affichage du format de la date (AAAA-MM-JJ)
Plus de sujets relatifs à : Format datetime non respecté


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)