• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

licznik czasu, aukcja

Object Storage Arubacloud
0 głosów
139 wizyt
pytanie zadane 24 listopada 2023 w JavaScript przez niezalogowany
Mam skrypt do odliczania czasu wstecz napisany w js, czas wyświetla się i po upłynięciu następuje funkcja - tylko nie rozumiem jak go zamieścić, żeby nie ulegał odświeżaniu, zegar jest potrzebny do aukcji?

 

Licznik tutaj w ostatnim poście:

https://4programmers.net/Forum/Webmastering/157620-Jak_zrobic_odliczanie_czasu_w_JS_i_trigger
komentarz 25 listopada 2023 przez overcq Pasjonat (21,730 p.)
Wyjaśnij, co to znaczy: „żeby nie ulegał odświeżaniu”.

Jeśli jako “targetDate” podasz datę bezwzględną, to będzie odliczał po odświeżeniu strony poprawnie.
komentarz 25 listopada 2023 przez niezalogowany
ok, sprawdzam :)
komentarz 25 listopada 2023 przez niezalogowany

W skrypcie jest:

countdown(new Date(2010, 2, 3, 20, 48, 10, 0), document.getElementById('counter1'));

więc ta linijka new date powinna być zastąpiona zmienną, która będzie obliczona tak, że do aktualnej daty będzie dodane np. 5h i aukcja zakończy się za 5h tak?

mam tak, ale jak to wdrożyć, jak się uczę java to i ta nic nie kumam, chyba po prostu się nie uczę?

new Date(d.getTime() + (30 * 24 * 3600 * 1000));

 

komentarz 25 listopada 2023 przez niezalogowany
ok, sprawdzam :) chyba że php lepiej sobie z tym radzi?, ale ten nasz kod js już prawie napisany, dobrze?
komentarz 25 listopada 2023 przez VBService Ekspert (254,300 p.)
edycja 25 listopada 2023 przez VBService

@marcin.dresnok, 

powinna być zastąpiona zmienną, która będzie obliczona tak, że do aktualnej daty będzie dodane np. 5h i aukcja zakończy się za 5h tak?

nie, nie do aktualnej daty, tylko do daty podanej bezwzględnie, bo przy każdym odświeżeniu strony lub wywołaniu counter-a, będzie dodawane 5h do aktualnej daty w nieskończoność. wink. IMO wystartowanie aukcji powinno być bazową datą + 5h zapisaną np. w bazie danych jako np. startDatetime.

komentarz 25 listopada 2023 przez niezalogowany

ok, chyba mówimy o tym samym, czyli mamy powiedzmy koniec aukcji od dziś za 5dni, czyli 30.11.2023

dzisiejsza data+5dni=bezwzględna data, i chodzi mi bardziej o to jak napisać w java nową datę, czyli +5dni i jako zmienną wstawić w tę linijkę, która może pochodzić spoza funkcji czy coś:

countdown(new Date(2023, 10, 30, 20, 48, 10, 0), document.getElementById('counter3'));

 

$timestamp = strtotime("+1 week 2 days 4 hours 2 seconds");
$czas_aukcji = date('Y-m-d h:i:s', $timestamp);

W php mogę wstawić kod, który ustala datę końca aukcji, i ok wyświetlam tę informację, mogę nawet odjąć później tę datę z aktualną i przy odświeżeniu będzie informacja ile pozostało czasu do końca, ale to mi nie daje licznika który odlicza

 

 

 

komentarz 25 listopada 2023 przez niezalogowany
albo da się to zrobić, albo dalej nie kumam:.)
komentarz 25 listopada 2023 przez overcq Pasjonat (21,730 p.)

Jeśli tworzysz stronę przy użyciu PHP, to możesz od razu wstawić odpowiednie liczby do kodu JavaScript.

Konstruktor daty UTC

Formatowanie daty UTC w PHP

Przykładowo:

<?php
$a = explode( ',', gmdate( 'Y,n,j,G,i,s', $timestamp ));
$a[1]--;
if( str_starts_with( $a[4], '0' ))
{   $a[4] = substr( $a[4], 1 );
}
if( str_starts_with( $a[5], '0' ))
{   $a[5] = substr( $a[5], 1 );
}
echo 'new Date(Date.UTC('. implode( ',', $a ) .'));';

By zachować prawdziwy czas bez względu na różnicę strefy czasowej ‘servera’ i przeglądarki ‘www’.

A “$timestamp” najlepiej odczytywać z bazy danych.

komentarz 25 listopada 2023 przez niezalogowany
Ten implode jakoś nie zadziała - Call to undefined function str_starts_with

ale, mogę tu wdrożyć php?

countdown(<?php $data;?>), document.getElementById('counter3'));
komentarz 26 listopada 2023 przez overcq Pasjonat (21,730 p.)

“str_starts_with” jest w PHP 8.

Jeśli ‘server’ PHP jest 64‐bitowy, to możesz po prostu pomnożyć “$timestamp” przez 1000, by uzyskać liczbę milisekund dla ‘timestamp’ w JavaScript i wtedy:

<?php
$timestamp *= 1000;
echo 'countdown(new Date('. $timestamp …
komentarz 26 listopada 2023 przez VBService Ekspert (254,300 p.)
edycja 27 listopada 2023 przez VBService
komentarz 29 listopada 2023 przez niezalogowany

@overcq, znaczy to jakby wywoływanie funkcji z java, i ma wyświetlić czas od wyznaczonej daty?

a w 8.1.21 nie ma str_starts_with "Call to undefined function "

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 180 wizyt
0 głosów
1 odpowiedź 393 wizyt
0 głosów
2 odpowiedzi 1,276 wizyt

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,004 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...