Forum » Programiranje » [java] datumi
[java] datumi
l0g1t3ch ::
Kako v javi dobit današnji datum ?
Rad bi da da miv eno labelo izpiše današnji datum pa nevem kak sploh dobim datum in kere razrede uporabit.
Pa se to kako se nek niz recmo 20.7.2006 pretvori v nek objekt ki predstavlja datum in kako to preverit pol kateri dan je (pon, tor, sre,...)
Sej bo šu googlat sam prvo tle prasam če kdo z glave ve
Rad bi da da miv eno labelo izpiše današnji datum pa nevem kak sploh dobim datum in kere razrede uporabit.
Pa se to kako se nek niz recmo 20.7.2006 pretvori v nek objekt ki predstavlja datum in kako to preverit pol kateri dan je (pon, tor, sre,...)
Sej bo šu googlat sam prvo tle prasam če kdo z glave ve
Fizikalko ::
import java.util.*;
import java.text.*;
public class NowString {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = DateFormat.getDateInstance();
String s = df.format(now);
System.out.println("Today is " + s);
}
}
import java.text.*;
public class NowString {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = DateFormat.getDateInstance();
String s = df.format(now);
System.out.println("Today is " + s);
}
}
Fizikalko ::
Še malo formatiranja:
import java.util.*;
import java.text.*;
public class StyleDemo {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = DateFormat.getDateInstance();
DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT);
DateFormat df2 = DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL);
String s = df.format(now);
String s1 = df1.format(now);
String s2 = df2.format(now);
String s3 = df3.format(now);
String s4 = df4.format(now);
System.out.println("(Default) Today is " + s);
System.out.println("(SHORT) Today is " + s1);
System.out.println("(MEDIUM) Today is " + s2);
System.out.println("(LONG) Today is " + s3);
System.out.println("(FULL) Today is " + s4);
}
}
In dobiš:
(Default) Today is Jul 26, 2006
(SHORT) Today is 26/7/2006
(MEDIUM) Today is Jul 26, 2006
(LONG) Today is July 26, 2006
(FULL) Today is Wednesday, July 26, 2006
import java.util.*;
import java.text.*;
public class StyleDemo {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = DateFormat.getDateInstance();
DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT);
DateFormat df2 = DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL);
String s = df.format(now);
String s1 = df1.format(now);
String s2 = df2.format(now);
String s3 = df3.format(now);
String s4 = df4.format(now);
System.out.println("(Default) Today is " + s);
System.out.println("(SHORT) Today is " + s1);
System.out.println("(MEDIUM) Today is " + s2);
System.out.println("(LONG) Today is " + s3);
System.out.println("(FULL) Today is " + s4);
}
}
In dobiš:
(Default) Today is Jul 26, 2006
(SHORT) Today is 26/7/2006
(MEDIUM) Today is Jul 26, 2006
(LONG) Today is July 26, 2006
(FULL) Today is Wednesday, July 26, 2006
Zgodovina sprememb…
- spremenilo: Fizikalko ()
l0g1t3ch ::
u hvala za hiter odgovor
Sicer sm jest že gledu class date sam me je mal zmotl d je vse skor deprecated
Kaj pa drugi del kak nek string pretvort v objerkt tipa Date in pol pogledat kateri dan je to ?
Sicer sm jest že gledu class date sam me je mal zmotl d je vse skor deprecated
Kaj pa drugi del kak nek string pretvort v objerkt tipa Date in pol pogledat kateri dan je to ?
Fizikalko ::
Za deprecated ne skrbi preveč, važno, da dela...
valueOf metoda:
public static Date valueOf(String s)
Converts a string in JDBC date escape format to a Date value.
Parameters:
s - a String object representing a date in in the format "yyyy-mm-dd"
Returns:
a java.sql.Date object representing the given date
Throws:
IllegalArgumentException - if the date given is not in the JDBC date escape format (yyyy-mm-dd)
valueOf metoda:
public static Date valueOf(String s)
Converts a string in JDBC date escape format to a Date value.
Parameters:
s - a String object representing a date in in the format "yyyy-mm-dd"
Returns:
a java.sql.Date object representing the given date
Throws:
IllegalArgumentException - if the date given is not in the JDBC date escape format (yyyy-mm-dd)
blaz_ ::
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html
static long currentTimeMillis()
Returns the current time in milliseconds.
LP
Blaž
static long currentTimeMillis()
Returns the current time in milliseconds.
LP
Blaž
Ko tehnologija odpove, uporabi macolo.
l0g1t3ch ::
Neki me se zanima kako nardit da bo delovalo primerjanje datumov.
tkole dobim danasniji datum
danes = new Date();
tole pa kot rok izdelave vnese uporabnik
String niz3 = polje3.getText();
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM);
rok_izdelave = format.parse(niz3);
pol pa preverjam
if(danes.equals(rok_izdelave))
in seveda nikol ni true, kar je pomoje nekak logicen, ker objekt danes hrani vec podatkov o datumu kot pa to kar uporabnik vnese. A je najbolš d datume z metodo toString() spremenim v niz in primerjam al bi lohka objekt danes nekak spremenu v obliko da hrani isto kot rok_izdelave
p.s. A za pravilnost vnosov rabiš sam skrbet al ma to že java kej. da ti vrže izjemo če naprimer vnesen 33.7.2006 oz kak tak nesmisel
tkole dobim danasniji datum
danes = new Date();
tole pa kot rok izdelave vnese uporabnik
String niz3 = polje3.getText();
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM);
rok_izdelave = format.parse(niz3);
pol pa preverjam
if(danes.equals(rok_izdelave))
in seveda nikol ni true, kar je pomoje nekak logicen, ker objekt danes hrani vec podatkov o datumu kot pa to kar uporabnik vnese. A je najbolš d datume z metodo toString() spremenim v niz in primerjam al bi lohka objekt danes nekak spremenu v obliko da hrani isto kot rok_izdelave
p.s. A za pravilnost vnosov rabiš sam skrbet al ma to že java kej. da ti vrže izjemo če naprimer vnesen 33.7.2006 oz kak tak nesmisel
Zgodovina sprememb…
- spremenilo: l0g1t3ch ()
Fizikalko ::
Pretvori v Stringe istih formatov in primerjaj.
Napake boš moral sam pohendlat, ker ti bo vrglo Exception pri obdelavi napačnih datumov.
Napake boš moral sam pohendlat, ker ti bo vrglo Exception pri obdelavi napačnih datumov.
l0g1t3ch ::
sej zadevo mam v try catch bloku in tud lovim ParseException ampak toj sam napak če uporabnik namest 30.7.2006 napiše kar neko neumnost ala 321432 sepravi ni pravilen format
Jest sm pa mislu to, da uporabnik vpiše pravilen format dd:mm:yyyy ampak da za dan ali mesec tako stevilo, ki ne more bit. Recimo 33ti dan al pa 15 mesec
recimo če bi vnesu 33.15.2006 da se sprož kakia zjema, ker zdej to Java mirno požre in sicer sparsa v 2.4.2007
Jest sm pa mislu to, da uporabnik vpiše pravilen format dd:mm:yyyy ampak da za dan ali mesec tako stevilo, ki ne more bit. Recimo 33ti dan al pa 15 mesec
recimo če bi vnesu 33.15.2006 da se sprož kakia zjema, ker zdej to Java mirno požre in sicer sparsa v 2.4.2007
Fizikalko ::
Čist simpl. Naredi preverjanje vnosa z if stavkom - primerjaj Date objekt (v milisekundah) vnešenega in tekočega datuma.
l0g1t3ch ::
Ne zastopm točn kaj is mislu ?
Men sam to še zanima če ma Java kak mehanizm da avtomatsko čekira smiselnost datuma.
recimo če en kot rok izdelave vnsese 15.8.2006 je to ok, če pa da 8.15.2006 bi pa mogl vn vrzt nepraviloen vnos, skratka sprozit eno izjemo ker pač 15ga meseca NI. Ampak java sedaj to neumnost mirno požre.
Al bom mogu ročno preverjat da srednja številka ni več ko 12 in potem še za datum glede na mesec da ni več kot 30, 31 ali v februarju 28
Men sam to še zanima če ma Java kak mehanizm da avtomatsko čekira smiselnost datuma.
recimo če en kot rok izdelave vnsese 15.8.2006 je to ok, če pa da 8.15.2006 bi pa mogl vn vrzt nepraviloen vnos, skratka sprozit eno izjemo ker pač 15ga meseca NI. Ampak java sedaj to neumnost mirno požre.
Al bom mogu ročno preverjat da srednja številka ni več ko 12 in potem še za datum glede na mesec da ni več kot 30, 31 ali v februarju 28
Fizikalko ::
NE! Čekiraj oba datuma, pretvorjena v milisekunde (objekt Date). Dej si malo dokumentacijo poglej, no.
l0g1t3ch ::
Ma sej primerjavo datumu sm rešu mene čist drugu zanima sam zgleda ne pridema skupi kaj mene zanima
bom že poisku sam kej
bom že poisku sam kej
kopernik ::
Uporabi razred SimpleDateFormat, ki je temu namenjen.
Torej, tisti setLenient() je pomemben, saj v nasprotnem primeru vzame datum '33.02.2006' kot pravilen, s tem da prišteje višek dni in da kot rezultat '05.03.2006'.
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy"); //tukaj poves, da naj striktno preverja pravilnost format.setLenient(false); try { Date date = format.parse("33.02.2006"); //napacen datum System.out.println(date); } catch (ParseException e) { e.printStackTrace(); }
Torej, tisti setLenient() je pomemben, saj v nasprotnem primeru vzame datum '33.02.2006' kot pravilen, s tem da prišteje višek dni in da kot rezultat '05.03.2006'.
l0g1t3ch ::
hvala Kopernik točn tole sm rabu format.setLenient(false); sam sploh nism vedu pod kaj bi iskav
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | java date/timeOddelek: Programiranje | 1511 (1194) | Slovenet |
» | [Java] Evidenca delovnega časa - Java v navezi z AccessomOddelek: Programiranje | 3292 (2512) | c0dehunter |
» | [JAVA] zaustavitev niti (threadov)Oddelek: Programiranje | 3181 (3181) | morbo |
» | [NALOGA][Java] Težave pri pisanju slikarjaOddelek: Programiranje | 2295 (1937) | l0g1t3ch |
» | Iskanje naslednje ponovitve - najboljši algoritem (strani: 1 2 )Oddelek: Programiranje | 4445 (3503) | Thomas |