Skocz do zawartości
×
×
  • Dodaj nową pozycję...

Rekomendowane odpowiedzi

Witam mam o to taką funkcje i zastanawiam się czy dało by się zrobić żeby pokazywała ilość lat, miesięcy tygodni dni, godzin minut i sekund w zależności od czasu np. jeśli czas by był większy niż rok to by pokazywała ilość lat, miesięcy i dni natomiast jeśli by czas był mniejszy niż 1 rok a większy niż 1 miesiąc to by pokazywało ilość miesięcy, tygodni i dni a poniżej 1 miesiąca ilość tygodni, dni i godzin, a jeśli mniej niż 1 tydzień to by pokazywało ilość dni godzin i minut a poniżej dnia ilość godzin, minut i sekund. Co myślicie na ten temat było by to dobrym rozwiązaniem? Potrzebował bym pomocy z zrobieniem przeliczniku miesięcy i lat z góry dzięki 🙂
 

Kod
 

function secondsToTime($seconds){
	$time = [];
	$result = '';
	//$time['weeks'] = floor(($seconds / 86400) / (86400 * 12));
	$time['days'] = floor($seconds / 86400);
	$time['hours'] = floor(($seconds - ($time['days'] * 86400)) / 3600);
	$time['minutes'] = floor(($seconds - ($time['days'] * 86400) - ($time['hours'] * 3600)) / 60);
	//$time['seconds'] = floor(($seconds - ($time['days'] * 86400) - ($time['hours'] * 3600) - ($time['minutes'] * 60)));
	/*
	if($time['weeks']>0){
		$result .= $time['weeks'].' tygodni ';
	}
	*/
	if($time['days']>0 && $time['days']>1){
		$result .= $time['days'].' dni ';
	}
	if($time['days']>0 && $time['days']==1){
		$result .= $time['days'].' dzień ';
	}
	if($time['hours']>0 && $time['hours']>4){
		$result .= $time['hours'].' godzin ';
	}
	if($time['hours']>0 && $time['hours']==1){
		$result .= $time['hours'].' godzina ';
	}
	if($time['hours']>0 && $time['hours']>1 && $time['hours']<=4){
		$result .= $time['hours'].' godziny ';
	}
	if($time['minutes']>0 && $time['minutes']>4){
		$result .= $time['minutes'].' minut ';
	}
	if($time['minutes']>0 && $time['minutes']==1){
		$result .= $time['minutes'].' minuta ';
	}
	if($time['minutes']>0 && $time['minutes']>1 && $time['minutes']<=4){
		$result .= $time['minutes'].' minuty ';
	}
	//if($time['seconds']>0){
	//	$result .= $time['seconds'].' sekund';
	//}
	return $result;
}

 

Edytowane przez DJ Kondzio
Odnośnik do odpowiedzi
Udostępnij na innych stronach
	public function formatSeconds($seconds)	{
		$time = array();
		$time['years'] = floor($seconds / 31536000);
		$time['weeks'] = floor($seconds / 604800);
		$time['days'] = floor($seconds / 86400);
		$time['hours'] = floor(($seconds - ($time['days'] * 86400)) / 3600);
		$time['minutes'] = floor(($seconds - (($time['days'] * 86400) + ($time['hours'] * 3600))) / 60);
		$time['seconds'] = floor(($seconds - (($time['days'] * 86400) + ($time['hours'] * 3600) + ($time['minutes'] * 60))));
		$result       = '';
		if ($time['years'] > 0) {
			$result .= $time['years'].' '.($time['years'] == 1 ? 'roku ' : 'lat ');
		}
		if ($time['weeks'] > 0) {
			$result .= $time['weeks'].' '.($time['weeks'] == 1 ? 'tygodnia ' : 'tygodni ');
		}
		if ($time['days'] > 0) {
			$result .= $time['days'].' '.($time['days'] == 1 ? 'dnia ' : 'dni ');
		}
		if ($time['hours'] > 0) {
			$result .= $time['hours'].' '.($time['hours'] == 1 ? 'godziny ' : 'godzin ');
		}
		if ($time['minutes'] > 0) {
			$result .= $time['minutes'].' '.($time['minutes'] == 1 ? 'minuty' : 'minut');
		}
		if ($result == '') {
			$result .= $time['seconds'].' sekund';
		}
		return $result;
	}

Trochę nie wiem czy o to tobie chodzi ale czytałem to już 10 raz i tak nie wiem o co tobie chodzi do końca mordeczko

Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)
5 minut temu, MichUŚŚŚ napisał:
	public function formatSeconds($seconds)	{
		$time = array();
		$time['years'] = floor($seconds / 31536000);
		$time['weeks'] = floor($seconds / 604800);
		$time['days'] = floor($seconds / 86400);
		$time['hours'] = floor(($seconds - ($time['days'] * 86400)) / 3600);
		$time['minutes'] = floor(($seconds - (($time['days'] * 86400) + ($time['hours'] * 3600))) / 60);
		$time['seconds'] = floor(($seconds - (($time['days'] * 86400) + ($time['hours'] * 3600) + ($time['minutes'] * 60))));
		$result       = '';
		if ($time['years'] > 0) {
			$result .= $time['years'].' '.($time['years'] == 1 ? 'roku ' : 'lat ');
		}
		if ($time['weeks'] > 0) {
			$result .= $time['weeks'].' '.($time['weeks'] == 1 ? 'tygodnia ' : 'tygodni ');
		}
		if ($time['days'] > 0) {
			$result .= $time['days'].' '.($time['days'] == 1 ? 'dnia ' : 'dni ');
		}
		if ($time['hours'] > 0) {
			$result .= $time['hours'].' '.($time['hours'] == 1 ? 'godziny ' : 'godzin ');
		}
		if ($time['minutes'] > 0) {
			$result .= $time['minutes'].' '.($time['minutes'] == 1 ? 'minuty' : 'minut');
		}
		if ($result == '') {
			$result .= $time['seconds'].' sekund';
		}
		return $result;
	}

Trochę nie wiem czy o to tobie chodzi ale czytałem to już 10 raz i tak nie wiem o co tobie chodzi do końca mordeczko

Zrobiłem to tak tylko że źle przelicza i jak zrobić z uwzględnieniem dni w miesiącu i w tygodniu oraz roku przyestępnego?
https://hastebin.com/uwokomaqog.bash

Bo takie coś mi się przykładowo wyświetla

 Nick: DJ Kondzio
 Status: Dostępny od
 Kanał: [cspacer]Poczekalnia

 Nick: Nick
 Status: Niedostępny od 11 miesięcy 48 tygodni 339 dni

Edytowane przez DJ Kondzio
Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 minuty temu, MichUŚŚŚ napisał:

Trochę nie rozumiem jednego np.

$time['year']>0 && $time['year']==1

Tutaj wystarczy samo  $time['year']==1

 

Ogólnie jeżeli chcesz pomocy z tym odezwij sie 🙂

 

nie da się do cb wysłać wiadomości czekam na tym ts co masz w profilu mam taki sam nick co na forum

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • SENSE zamknął i odblokował ten temat
  • 2 miesiące temu...
  • SENSE zamknął ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Podobna zawartość

    • Przez Pertian
      Witajcie.
      Zlecę napisanie strony pod serwer Teamspeak3
      Cena do dogadania się na priv.
      Co ma być także zapraszam na priv.
    • Przez Lukieeer
      Cześć!
      Stworzyłem nową aplikację - liveCovid, poniżej screen z konfiguracji.
      Aplikacja wyświetla statystyki w nazwie i/lub opisie kanału nt. koronawirusa w Polsce lub innym wybranym kraju.
      Aplikacja jest w pełni darmowa. Aby ją pobrać musimy mieć tylko zainstalowane php (najlepiej 7.3-7.4).
      Pobieramy ją komendą
      $ wget http://img.tscuksy.pl/files/liveCovid.zip
      Odpakowujemy
      $ unzip liveCovid.zip
      Uzupełniamy inc/config.php odpowiednimi danymi.
      $ chmod 777 start.sh
      $ ./start.sh
      Poniżej ss z aplikacji.   Jest to moja pierwsza publiczna aplikacja w PHP, więc proszę bez hejtu 
      ~ Lukieer
    • Przez Stalker
      Witajcie, dziś wrzucam na szybko vpnDetector'a
      Jak sama nazwa wskazuje, aplikacja ma na celu wykrywać użytkowników łączących się na serwer przez VPN.
       
      Nie będę tutaj opisywał co i jak zainstalować bo wszystko będzie na githubie ☺️
       
       
      Link do pobrania (bez skanu bo to github) 🙂
      https://github.com/stalkerlifehack/TeamSpeak-vpnDetector
       
      Błędy i pomysły co można dodać możecie podsyłać na pw lub w odpowiednim do tego temacie.
       
      Miłego wieczoru
       
    • Przez DJ Kondzio
      Witam o tuż pisze własnego bota i napotkałem dziwny błąd który nw czemu mi zmienia wartość client_servergroups.
      Gdy wpisuje echo lub var_dump zmiennej $client['client_servergroups'] przed tym ifem "if(empty($$function) || time() > $$function){" to wyświetla się wszystko normalnie ale gdy zrobie to po tym ifie to wyświetla się tylko "array(1) {[0]=>  string(1) "2"}". Ma ktoś może jakiś pomysł co jest nie tak?
      Za pomoc dziękuje 🙂
       
      Kod:
      if(method_exists($function, 'isClient')){ if(array_key_exists('interval', $config[$instanceid]['functions'][$function])){ //echo($client['client_servergroups']); if(empty($$function) || time() > $$function){ //echo($client['client_servergroups']); $function::isClient($client); $$function = time() + $xfb->convertInterval($config[$instanceid]['functions'][$function]['interval']); } }else{ $function::isClient($client); } }  
    • Przez dezynffeqcja
      Witam, mam problem włączam xbota pisze

      Uruchomiles program starter.sh
      Wybrales: start
      XBot instancja 1  została włączona!
      XBot instancja 2  została włączona!

       a po wyłączeniu 


      Uruchomiles program starter.sh
      Wybrales: stop
      No screen session found.
      No screen session found.
      XBot  został wyłączony!

      a przy restarcie tak


      Uruchomiles program starter.sh
      Wybrales: restart
      No screen session found.
      No screen session found.
      XBot  został zrestartowany pomyślnie!


      Wszystko jest dobrze skonfigurowane

      Informacje o systemie:

      Linux ip102 4.4.83-1-pve #1 SMP PVE 4.4.83-96 (Tue, 19 Sep 2017 10:30:12 +0200) x86_64 x86_64 x86_64 GNU/Linux

      jest to vps 
       
  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.