J'aimerais trouver le timbre à date du lundi, mardi, mercredi, etc. Si ce jour n'est pas encore arrivé cette semaine, j'aimerais que la date soit celle de cette semaine, sinon, la semaine prochaine. Merci!
Réponses
Trop de publicités? Voir strtotime()
strtotime('next tuesday');
Vous pourriez probablement savoir si vous avez dépassé ce jour en regardant le numéro de la semaine:
$nextTuesday = strtotime('next tuesday');
$weekNo = date('W');
$weekNoNextTuesday = date('W', $nextTuesday);
if ($weekNoNextTuesday != $weekNo) {
//past tuesday
}
Josh Davis
Points
12974
Larry Watanabe
Points
7305
Désolé, je n'ai pas remarqué le tag PHP. Cependant, une solution VB pourrait intéresser quelqu'un d'autre:
Module Module1
Sub Main()
Dim d As Date = Now
Dim nextFriday As Date = DateAdd(DateInterval.Weekday, DayOfWeek.Friday - d.DayOfWeek(), Now)
Console.WriteLine("next friday is " & nextFriday)
Console.ReadLine()
End Sub
End Module
Mike
Points
773
JBrooks
Points
4561
Vous ne savez pas exactement ce que vous demandez, mais si vous avez une fonction DayOfTheWeek, c'est une tâche triviale. Voici le code SQL qui sélectionne ce jeudi à moins que ce ne soit déjà mercredi, puis il sélectionne à partir de 2 jeudi.
declare @dw int
declare @retDate datetime
set @dw = datepart(dw,getdate())
if @dw < 4
set @retDate = dateadd(dd,5-@dw,getdate())
else
set @retDate = dateadd(dd,12-@dw,getdate())
select cast(convert(varchar(40),@retDate,101) as DateTime)