Date avec le decalage horaire,

Soyez le premier à donner votre avis sur cette source.

Snippet vu 23 449 fois - Téléchargée 29 fois

Contenu du snippet

j' habite en guadeloupe et je voulais que mon site indique la date en guadeloupe alors que mon seveur est en france ,
la date de france et la date guadeloupe sont parfois differentes .
par exemple , quand il est lundi 20h en guadeloupe il est deja mardi 2h en france.
apres avoir testé plusieus methode , je me suis fais un truc avec une base de donnee acces.

je suis encore debutant , mon code est tres long eturement mal ecrit , je suis en train d'apprendre , si quelqu'un vois une methode plus simple , merci de me le faire savoir

detail : la base de donnees s'appelle "calendrier" , il y a une table "jour" qui contient 2 champs , "numero de la forme numero_auto" et "jour_today".

Source / Exemple :


<%
dim jourday
dim jour
dim heure 'heure du serveur
dim num 'numero dans la base pour le jour aujourd'hui
dim numhier 'numero dans la base pour le jour de hier
heure=hour(now)
if weekdayname(weekday(date()))="lundi" then jour="Lundi"
if weekdayname(weekday(date()))="mardi" then jour="Mardi"
if weekdayname(weekday(date()))="mercredi" then jour="Mercredi"
if weekdayname(weekday(date()))="jeudi" then jour="Jeudi"
if weekdayname(weekday(date()))="vendredi" then jour="Vendredi"
if weekdayname(weekday(date()))="samedi" then jour="Samedi"
if weekdayname(weekday(date()))="dimanche" then jour="Dimanche"

jourday = jour & jourday
jourday = jourday & " "
If day(date()) = 1 Then
   jourday = jourday & "1er"
Else
   jourday = jourday & day(date())
End If
jourday = jourday & " "
jourday = jourday & monthname(month(date()))
jourday = jourday & " "
jourday= jourday & year(date())

' connexion a la base de donnees calendrier
dbPath = Server.MapPath("calendrier.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = server.createobject("ADODB.Recordset")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _
   & " DBQ=" & dbPath

SQL = "SELECT * FROM jour WHERE jour_today LIKE '" & jourday & "'"
RS.Open SQL,Conn , 3, 3

if  rs.EOF then
RS.addnew
RS("jour_today")=jourday
RS.update
end if

SQL = "SELECT * FROM jour WHERE jour_today LIKE '" & jourday & "'"
num=rs("numero")
numhier=num-1
rs.close

if not heure>5 and heure < 24 then
SQL = "SELECT * FROM jour WHERE numero=" & numhier
RS.open SQL,Conn,3,3
if not  rs.eof then 
jourday=rs("jour_today")
rs.close
end if
end if

'pourqu'il ny ait pas trop d'enregistrement dans la base , 
'on efface les dates passées de plus de 2 jours
Conn.execute "DELETE * FROM jour" _
   & " WHERE numero<" & (num-2)

set rs=nothing
 conn.close
Set conn=nothing 
response.write jourday & " " & " Gpe"%>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
13
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
24 janvier 2007

Hello,

Curieusement, je suis en train de réaliser une application pour des utilisateurs situés en Guadeloupe.
La particularité de la Guadeloupe est qu'il n'y a pas d'heure d'été/hiver (donc la proposition de Bud est à exclure).
C'est heure GMT - 4 heures, donc en créant un fichier "getgmtoffset.asp" contenant :

<%@ LANGUAGE=JScript %>
<%
Application("ServerGMTOffset") = 0 + (new Date().getTimezoneOffset() / 60)
%>

On place le nombre d'heures entre l'heure GMT et l'heure du serveur dans une variable application.
Reste dans le code où tu as besoin de l'heure locale de la Guadeloupe à placer :

<%
Server.execute "getgmtoffset.asp"
Response.Write("Guadeloupe : "&DateAdd("h",Application("ServerGMTOffset")-4,Now)
%>

A+
Michel
Messages postés
18
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
16 juin 2009

Voilà , j'ai battaillé ferme et voilà la modification de ma source

<%'Le date du style Lundi 1er Juillet 2005 avec le decalage horaire
' devellopé par bergina davidpour http://www.cedi971.com

'definir le decalage horaire
dim dec 'decalage horaire
dec=6
if not hour(now)>(dec-1) and hour(now) < 24 then
decalage="ok"
end if
dim jour_de_guadada ' date de la guadeloupe


function wjour(jour) ' pour mettre la premier lettre en majuscule
wjour=Ucase(left(jour,1))&Lcase(right(jour,len(jour)-1))
end function

function numjour(num) 'pour transformer 1 en 1er
if day(date())=1 then numjour=replace(num,"1","1er") else numjour=num end if
end function
%>

<%if decalage="ok" and day(date)=1 and monthname(month(date))="janvier" then %>
<%jour_de_guadada=wjour(weekdayname(weekday(date-1))) & " " & day(date-1) & " " & wjour(monthname(month(date-1)))& " " & year(date-1)%>

<%elseif decalage="ok" and day(date)=1 then %>
<%jour_de_guadada=wjour(weekdayname(weekday(date-1))) & " " & day(date-1) & " " & wjour(monthname(month(date-1)))& " " & year(date)%>

<%elseif decalage="ok" then %>
<%jour_de_guadada=wjour(weekdayname(weekday(date-1))) & " " & numjour(day(date-1)) & " " & wjour(monthname(month(date)))& " " & year(date)%>

<%else%>

<%jour_de_guadada=wjour(weekdayname(weekday(date))) & " " & numjour(day(date)) & " " & wjour(monthname(month(date)))& " " & year(date)%>
<%end if%>
<%response.write jour_de_guadada%>
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
tiembé raide pa moli ;p
Messages postés
18
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
16 juin 2009

Salut a tous , donc je vois que meme si compliqué , la methode de la base de données est la methode la plus sur,
parce que le pc n'est pas tjs a l'heure entre autre et que les autre methode ne fonctionne pas comme je veux .
merci de votre aide ,
Messages postés
15
Date d'inscription
lundi 9 mai 2005
Statut
Membre
Dernière intervention
26 mai 2010

Essaie plutôt d'utiliser l'heure locale... Bon c'est celle du PC, mais c'est bcp plus dynamique en JavaScript
Inspire toi de ça...

<html>

<script type="text/javascript">
function getDate(){
var sDate=new Date
return "Local Time = " + sDate.toLocaleString().replace(".","").replace(",","")
}
</script>


</html>
Afficher les 9 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.