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

Zwykłe pobranie daty

Object Storage Arubacloud
+1 głos
1,039 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,280 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ź 257 wizyt
pytanie zadane 27 listopada 2018 w SQL, bazy danych przez Bartłomiej Bolesta Obywatel (1,630 p.)
0 głosów
1 odpowiedź 207 wizyt
pytanie zadane 13 listopada 2022 w JavaScript przez kordix Gaduła (3,910 p.)
+1 głos
1 odpowiedź 298 wizyt
pytanie zadane 30 maja 2021 w PHP przez KFC Użytkownik (610 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...