PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 29-08-2006 08:30:04

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

[SOURCE] Determine le dernier jour du mois de la date en cours

Voila une fonction qui vous permettra de déterminer le dernier jour de la date en cours...

importer cette fonction et tester !

Code: pb

$PBExportHeader$f_dernierjourmois.srf
$PBExportComments$donne le dernier jour du mois
global type f_dernierjourmois from function_object
end type

forward prototypes
global function integer f_dernierjourmois (date ad_date)
end prototypes

global function integer f_dernierjourmois (date ad_date);// determine le dernier jour du mois de la date saisie.
Date  ld_tmp

ld_tmp  = RelativeDate( ad_date, 32 - Day( ad_date ) )  
Return  Day( RelativeDate( ld_tmp, 0 - Day( ld_tmp ) ))  

end function

Code: pb

date ld_jour

ld_jour = date(string(today(),'dd/mm/yyyy'))
messagebox("Dernier jour du mois de la date",string(f_dernierjourmois(ld_jour)))

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#2 09-02-2010 13:13:02

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

Bonjour

Il y a une autre solution qui est d'extraire le mois de rajouter un.
Composer la date au premier jour et faire un relative date -1

Code: pb

iMonth=MONTH(dDate)
iYear=YEAR(dDate)

iMonth ++
IF iMonth>12 THEN
  iMonth=1
  iYear++
END IF

//sMonth=STRING(iMonth,"00")
//sYear=STRING(iYear,"0000")
//[s]dRet=DATE("01/"+iMonth+"/"+iYear)[/s]

dRet=Date ( iYear, month, day )

dRet=RelativeDate(dRet,-1)

RETURN(dRet)


J'ai modifié ,c'est plus propre ainsi et gère le format mm/dd/yy

Dernière modification par ydl (06-05-2011 12:17:43)

Hors ligne

 

#3 09-02-2010 13:16:33

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

Merci pour le truc, mais please


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#4 09-02-2010 13:38:16

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

Allez, tant qu'à faire, encore plus simple avec Oracle :

Code: pb

SELECT LAST_DAY( :ld_date ) INTO :ld_last FROM DUAL ;

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 17-02-2010 17:00:29

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

Oui mais cela charge le serveur oracle non ?

Hors ligne

 

#6 18-02-2010 07:21:28

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

ydl a écrit:

Oui mais cela charge le serveur oracle non ?

une requête comme ça doit prendre 1/1000ème de seconde, je pense pas que le serveur soit à genou...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#7 18-02-2010 08:02:38

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

Par contre, si tu l'appelles toutes les deux lignes dans ton code depuis PB, tu peux saturer le réseau.
A toi de l'utiliser à bon escient


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#8 18-02-2010 09:13:58

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [SOURCE] Determine le dernier jour du mois de la date en cours

pour sqlserveur

Code: mssql

DECLARE @Dte DATETIME
SET @Dte = GETDATE()

SET @Dte=DATEADD(MONTH, 1,@Dte )
print DATEADD(DAY, -DAY(@Dte), @Dte)


à utiliser tel que ou à transformer en fonction ....


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22