Skrypt dodawania dni do daty

0

Witam serdecznie,

Potrzebuje skrypt działający na stronie internetowej w PHP, który będzie miał nastepujące funkcję:

  1. Wskazywał date dzisiejszą w formacie DD-MM-RRRR, a obok datę jaka będzie po 20 dniach (licząc od dnia następnego, czyli np dzisiaj jest 25-09-2020 a obok data po 10 dniach tj. 05-10-2020)
  2. Po wpisaniu (wybraniu) konkretnej daty (np daty zdarzenia), obok ukaże się data po 20 dniach od tej daty.

Wszystkich zainteresowanych zleceniem, proszę o kontakt na PW w celu uzgodnienia warunków.

W załączniku przykładowy widok.

0

Jesteś pewien, że to ma być tworzone w PHP a nie w JavaScript? Bo jeśli ma coś się pojawiać w odpowiedzi na czynności wykonane przez użytkownika, to raczej przetwarzanie daty będzie wykonywane po stronie frontu, a nie na serwerze - więc to nie PHP.

1

10 zł

0
cerrato napisał(a):

Jesteś pewien, że to ma być tworzone w PHP a nie w JavaScript? Bo jeśli ma coś się pojawiać w odpowiedzi na czynności wykonane przez użytkownika, to raczej przetwarzanie daty będzie wykonywane po stronie frontu, a nie na serwerze - więc to nie PHP.

Kod skryptu chce wrzuci do strony która jest oparta na silniku PHP-FUSION

2

Czekam na PW z przykładem gotowego skryptu.

xDD

2

Weź przekaż na Owsiaka albo coś.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<style>
SECTION {
  display:-ms-flex;
  display:-webkit-box-flex;
  display:-webkit-flex;
  display:flex;
}

FIELDSET {
  -ms-flex:0 1 33.33%;
  -webkit-box-flex:0 1 33.33%;
  -webkit-flex:0 1 33.33%;
  flex:0 1 33.33%;
}

INPUT {
  width:100%;
}
</style>
</head>
<body>

<section>
  <fieldset>
   <legend>Wybierz datę początkową</legend>
   <input id="data_start" type="date">
  </fieldset>

  <fieldset>
   <legend>Wpisz liczbę dni</legend>
   <input id="dni_ile" type="number" min="0" max="365" step="1" value="0">
  </fieldset>

  <fieldset>
   <legend>Wynik: Data końcowa</legend>
   <input id="data_stop">
  </fieldset>
</section>


<script>
function przelicz() {
  var tab_dni      = ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"];
  var dni_ile      = document.querySelector("#dni_ile").value;
  var data_s_start = document.querySelector("#data_start").value;
  
  var data_o_start   = new Date(data_s_start);
  var data_u_start   = data_o_start.getTime();
  
  var data_u_stop    = data_u_start + (dni_ile * 24 * 3600 * 1000);
  var data_o_stop    = new Date(data_u_stop);
  var data_s_stop    = data_o_stop.getFullYear() + "-" + ("0"+(data_o_stop.getMonth()+1)).slice(-2) + "-" + ("0" + data_o_stop.getDate()).slice(-2) + " " + tab_dni[data_o_stop.getDay()];

  if (isNaN(data_u_start)) data_s_stop = "niepoprawna data";  
  if (((dni_ile*1)==0) && (dni_ile!=="0")) data_s_stop = "niepoprawna liczba dni";
  
  document.querySelector("#data_stop").value = data_s_stop;
}

document.querySelector("#data_start").addEventListener("input", przelicz);
document.querySelector("#dni_ile").addEventListener("input", przelicz);
</script>

</body>
</html>
0

Temat uznaje za zamknięty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1