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

Zwykłe pobranie daty

+1 głos
1,546 wizyt
pytanie zadane 9 sierpnia 2016 w Java przez itcloud Gaduła (3,380 p.)
edycja 9 sierpnia 2016 przez itcloud

Sam kiedyś podałem tutaj rozwiązanie, jak w określonym formacie pokazać datę (klasa Calendar albo GregorianCalendar). Są też różne sposoby podane tutaj:

https://www.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html

Pamiętam, że w php pobranie daty jest banalne, np:

$jakas_data = date("Y-m-d H:i:s");

i po temacie:) W Java przeraża mnie, że trzeba chociaż 2-3 linijki wpisać, aby pobrać sensowną datę (obecną, przyszłą, przeszłą - jakąkolwiek). Jakie macie sposoby na najprostsze pobranie daty najbliższe tej metodzie, którą podałem wyżej (php) ?

ps. czyli od razu ze sformatowaniem

komentarz 9 sierpnia 2016 przez jpacanowski VIP (101,940 p.)

W Java przeraża mnie, że trzeba chociaż 2-3 linijki wpisać, aby pobrać sensowną datę

Powodzenia życzę...

komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)
Dziękuję bardzo :*

3 odpowiedzi

+1 głos
odpowiedź 9 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
wybrane 9 sierpnia 2016 przez itcloud
 
Najlepsza

Jak chcesz formatować datę użyj klasy java.text.SimpleDateFormat: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html.

Oczywiście trzeba pamiętać, że Java czas liczy w typie long który reprezentuje milisekundy, które upłynęły od 1 stycznia 1970 roku od północy. 

komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)

Dziękuję bardzo! Chociaż nie wiem, czy się zrozumieliśmy w przypadku poniższym:

	public static String showEmployees(Employee[] tab){

		String str = "";
		for(Employee e: tab){
			str+= e.getOsoba()+",";
		}
		return str;
	}

Wiem, jak implementować własny format wyświetlania danych poprzez nadpisanie metody toString. Ale nie to chciałem w tej metodzie wyżej zrobić, tylko po prostu pokazać osoby (stąd e.getOsoba()) z tej tablicy, którą przekazuję. I tylko tyle. A mam komunikat:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at Employee.main(Employee.java:72)

 

komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)

Hehe, już wiem: zła deklaracja tablicy ! :)

Powinno być:

Employee[] tabEmployees = new Employee[2];   //bo dwa elementy daję!

 

komentarz 9 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
Jak zmieniłeś kod źródłowy, to mi pokaż. Błąd (rzucony wyjątek) polega na tym, że podałeś nieistniejący index w tablicy. Błąd znajduje się w pliku Employee.java w 72 linii oraz w głównym wątku programu.

Warto nauczyć się odczytywania wyjątków w terminalu.
komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)
import java.text.*;
import java.util.*;


public class Employee {
	
	private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("YYYY-MM-dd");
    private static int licznik = 0;
	 
	private int wiek;
	private String data_ur;
	private String osoba;	
	
	//KONSTRUKTORY
	public Employee(){
		
		System.out.println("KONSTRUKTOR BEZ PARAMETRÓW - DOMYŚLNY");
		wiek = 0;
		data_ur = DATE_FORMAT.format(new Date()); //aktualna data jako wartosc domyslna
		osoba = "nobody";
	}
	public Employee(int w, String d, String o){
		
		System.out.println("KONSTRUKTOR Z PARAMETRAMI");
		wiek = w;
		data_ur = d;
		osoba = o;
	}

	//GETTERY
	public int getWiek(){
		return wiek;
	}
	
	public String getOsoba(){
		return osoba;
	}	
	
	public String getData_ur(){
		return data_ur;
	}
	
	//SETTERY
	public void setWiek(int w){
		wiek = w;
	}
	
	public void setOsoba(String o){
		osoba = o;
	}	
	
	public void setData_ur(String d){
		data_ur = d;
	}	
	

	public static String showEmployees(Employee[] tab){

		String str = "";
		
		for(Employee e: tab){
			str+= e.getOsoba();
			if(licznik<(tab.length-1)) str+=", ";
			licznik++;
		}
		
		return str;
	}
	
	//MAIN
	public static void main(String[] args){
		
		Employee[] tabEmployees = new Employee[3];
		
		tabEmployees[0] = new Employee(28,"1990-08-08","Janek Kowalski");
		tabEmployees[1] = new Employee(26,"1992-04-01","Aneta Nowak");
		tabEmployees[2] = new Employee(26,"1992-06-01","Igor Awka");
		
		//showEmployees(tabEmployees);
		System.out.println(showEmployees(tabEmployees));
		
	}
	
}

Poprawiony, działa ok :)

komentarz 9 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
Dzięki, że pomogłem. Jak ci się przydało kliknij najlepsza odpowiedź. To motywuje, do tworzenia jak najlepszych odpowiedzi ;)
0 głosów
odpowiedź 9 sierpnia 2016 przez mbabane Szeryf (79,260 p.)

jesli chodzi o date aktulana to wystarczy 

d = new Date();

 

komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)
Źle się wyraziłem. Chciałbym uzyskać aktualną datę postaci:

YYYY-mm-dd
komentarz 9 sierpnia 2016 przez jpacanowski VIP (101,940 p.)
edycja 9 sierpnia 2016 przez jpacanowski
SimpleDateFormat date = new SimpleDateFormat("YYYY-mm-dd");
komentarz 9 sierpnia 2016 przez itcloud Gaduła (3,380 p.)

taa...

SimpleDateFormat date = new SimpleDateFormat("YYYY-mm-dd");
System.out.println(date);

wynik:

java.text.SimpleDateFormat@4da27600

komentarz 9 sierpnia 2016 przez jpacanowski VIP (101,940 p.)
edycja 9 sierpnia 2016 przez jpacanowski
System.out.println(date.format(new Date()));
komentarz 9 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)

jpacanowski tylko zmienna now musi istnieć!

0 głosów
odpowiedź 9 sierpnia 2016 przez Przybysz_4444 Gaduła (3,200 p.)
przywrócone 9 sierpnia 2016 przez Przybysz_4444
System.out.println(new Date());

Podobne pytania

0 głosów
1 odpowiedź 385 wizyt
pytanie zadane 27 listopada 2018 w SQL, bazy danych przez Bartłomiej Bolesta Obywatel (1,630 p.)
0 głosów
1 odpowiedź 311 wizyt
pytanie zadane 13 listopada 2022 w JavaScript przez kordix Gaduła (3,910 p.)
+1 głos
1 odpowiedź 431 wizyt
pytanie zadane 30 maja 2021 w PHP przez KFC Użytkownik (610 p.)

93,607 zapytań

142,530 odpowiedzi

322,999 komentarzy

63,098 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

Kursy INF.02 i INF.03
...