Asp - fonction pour récupérer la date au format universel pour sql server

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 792 fois - Téléchargée 36 fois

Contenu du snippet

Cette fonvtion peut servir pour envoyer une date (dans un insert ou un update) au format universel de SQL Server, et donc sans se soucier de l'installation du serveur et de son paramétrage (anglais ou francais).
On peut passer par d'autre méthodes (par exemple en envoyant le convert), mais celle-la m'a été utile pour un développement récent, donc ca peut servir.

Source / Exemple :


'--------------------------------------------------------
'Fonction 

Function FormatDateSQL(LaDate)
' Permet de formatter la date pour un ajout dans la Base SQL
	FormatDateSQL = Year(LaDate)&"-"&Month(LaDate)&"-"&Day(LaDate)&" "&Hour(LaDate)&":"&Minute(LaDate)&":"&Second(LaDate)
End Function

'--------------------------------------------------------
'Exemple d'appel de la fonction 

Response.Write FormatDateSQL(now())

Conclusion :


Bon coding.

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire Commentaires
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Bonjour,

Merci de votre commentaire, je pense maintenant qu'on a toutes les solutions possibles ;)
En fait le formet dépend énormément de la configuration de votre système.
Il est tout de même réel que la dernière proposition est celle la plus adaptée à tous.
Cordialement
Romelard Fabrice
Messages postés
41
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
3 novembre 2008

Apres quelques essais, le format ne fonctionne pas sur SQLServer 2000.

Le bon format est :

FormatDateSQL = Year(LaDate)&right("0"&Month(LaDate),2)&right("0"&Day(LaDate),2)&" "&right("0"&Hour(LaDate),2)&":"&right("0"&Minute(LaDate),2)&":"&right("0"&Second(LaDate),2))
Messages postés
41
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
3 novembre 2008

Salut.
Il y a un petit soucis dans ta chaine renvoyée. Au cas ou le mois, le jour, l'heure, la minute, la seconde <10.
Normalement la chaine ecrite sera :

FormatDateSQL = Year(LaDate)&"-"&right("0"&Month(LaDate),2)&"-"&right("0"&Day(LaDate),2)&" "&right("0"&Hour(LaDate),2)&":"&right("0"&Minute(LaDate),2)&":"&right("0"&Second(LaDate),2))
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
22 février 2007

Bonjour,

Je sais pas si je pose ma question au bonne endroit.
Mais je suis débutant et je cherche changer l'ordre de mon contenu de (timstamp)qui est ma variable :

timestamp = FormatDatetime(now,0)

pour après juste a avoir a faire un insert de timstamp dans mon SQL
dans sons format actuel timestamp me donne : jj/mm/aaaa hh:mm:ss
et il me la faudrait au format aaaa/mm/jj hh:mm:ss
Mais je n'arrive pas a ajouter la fonction formatdateSQL pour que timestamp me renvoy la date dans le bonne ordre.

Merci de votre aide.
Messages postés
2
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

private string ToDateSQL(DateTime d)
{
return d.toString( "yyyy-MM-dd HH:mm:ss.fff" );
}
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.