Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2007, 15h40   #1
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
Par défaut [DATE] intervale en jours

bonjour
je suis en train d'essayé de faire un agenda de reservation.

pour l'affichage des disponibilités, ma base ne prend en charge qu'au jour le jour
je voudrais quand je rentre une periode
que cette période ce divise en jour

je m'explique:

la semaine du 05/11/2007 au 11/11/2007
donne :
05/11/2007, 06/11/2007, 07/11/2007, 08/11/2007, 09/11/2007, 10/11/2007, 11/11/2007

pour le cas précis c'est simple
mais quand la semaine est à cheval sur deux mois ?
le mois en question peux avoir 28, 29,30 ou 31 jours

autant dire ... je galère
si il y a un truc que j'ignore
etant donné que l'asp est làoins d'être mon langage de prédilection ....

merci à ceux qui aurons des idées, des propositions
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h20   #2
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 812
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 812
Points : 3 011
Points : 3 011
Bonjour,

Une piste :

Code :
1
2
3
4
5
6
 
debut = "05/11/2007"
debut = "11/11/2007"
do while datediff("d", debut, fin) <> 0
   jours = dateadd("d", 1, debut)
loop
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h28   #3
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
c'est une piste
merci

mais elle ne prend pas en compte les semaines a cheval d'un mois sur l'autre.
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 17h03   #4
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 812
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 812
Points : 3 011
Points : 3 011
Re,

La fonction DateAdd permet d'ajouter des valeurs à une date (fais des tests et tu verras).

Un extrait de MSDN :

Citation:
DateAdd, fonction


Renvoie une valeur de type Variant (Date) contenant une date à laquelle un intervalle de temps spécifié a été ajouté.

Syntaxe

DateAdd(interval, number, date)

La syntaxe de la fonction DateAdd comprend lesarguments nommés suivants :

Élément Description
interval Expression de chaîne correspondant à l'intervalle de temps à ajouter.
number Expression numérique correspondant au nombre d'intervalles à ajouter. Peut être positive (pour obtenir des dates dans le futur) ou négative (pour obtenir des dates dans le passé).
date Variant (Date) ou caractère littéral représentant la date à laquelle l'intervalle est ajouté.


Valeurs

L'argument interval peut prendre les valeurs suivantes :

Valeur Description
yyyy Année
q Trimestre
m Mois
y Jour de l'année
d Jour
w Jour de la semaine
ww Semaine
h Heure
n Minute
s Seconde


Remarques

Utilisez la fonction DateAdd pour ajouter ou soustraire à une date un intervalle de temps spécifié. Par exemple, utilisez DateAdd pour calculer une date située à 30 jours ou une heure située à 45 minutes de l'heure présente.

Pour ajouter des jours à la valeur de l'argument date, vous pouvez utiliser les valeurs Jour de l'année ("y"), Jour ("d") ou Jour de la semaine ("w").

La fonction DateAdd ne renvoie jamais de date incorrecte. Dans l'exemple suivant, un mois est ajouté à la date du 31 janvier :

DateAdd("m", 1, "31-Jan-95")

Dans ce cas, DateAdd renvoie 28/02/95, et non 31/02/95. Si l'argument date a pour valeur le 31-Jan-96, la date 29/02/96 est renvoyée car 1996 est une année bissextile.

Si la date calculée devait être antérieure à l'année 100 (c'est-à-dire, si vous retirez un nombre d'années supérieur à celui indiqué dans l'argument date), une erreur se produit.

Si l'argument number n'est pas une valeur de typeLong, il est arrondi au nombre entier le plus proche avant d'être évalué.

Note Le format de la valeur renvoyée correspondant à la fonction DateAdd est déterminé par les valeurs du Panneau de configuration, non par le format qui est passé à l'argument date.
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2007, 08h58   #5
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
Bonjour


pc75, MERCI
je reconnais que j'avais du faire une erreur quelque part et que cst toi qui avait raison.

j'ai le resultat voulu en faisant
Code :
1
2
3
4
5
6
7
debut = "05/11/2007"
fin = "11/11/2007"
difference = datediff("d", debut, fin)
for i=1 to difference
   jours = dateadd("d", i, debut)
   response.write (jours)&"<br />"
next
maintenat il me reste à entrer les jours dans ma base ...
mais c'est bon MERCI ENCORE
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h28.


 
 
 
 
Partenaires

Hébergement Web