Olen saanut alla olevalla koodilla tulostumaan tämän päivän(2004-08-03), mutta miten koodia olisi muutettava, jotta saisin siitä irti eilisen päivämäärän (2004-08-03).
Tarvitsen useampia päivämääriä applettini tekstikenttiin.
java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime());
jTextField2.setText("" sqlToday);
pieni päivämäärä ongelma
12
1623
Vastaukset
- Power Pope
http://www.experts-exchange.com/Programming/Programming_Languages/Java/Q_20950628.html
Tuolta taitaa löytyä ratkaisu. Sun pitää käyttää nyt Javan calender-luokkaa apuna.- Saara
Tuo sivuhan on maksullinen. En viitsisi maksaa tällaisen ongelmanratkaisusta, kun ratkaisu on kuitenkin hyvin yksinkertainen(luulisin). :)
- Saara
Saara kirjoitti:
Tuo sivuhan on maksullinen. En viitsisi maksaa tällaisen ongelmanratkaisusta, kun ratkaisu on kuitenkin hyvin yksinkertainen(luulisin). :)
Eli tällä koodilla saan myös tämän päivän päivämäärän, mutta pitäisi saada myös eilisen päivämäärä.
java.sql.Date date = new java.sql.Date((new GregorianCalendar()).getTime().getTime()); - Power Pope
Saara kirjoitti:
Tuo sivuhan on maksullinen. En viitsisi maksaa tällaisen ongelmanratkaisusta, kun ratkaisu on kuitenkin hyvin yksinkertainen(luulisin). :)
Ei tuon linkin klikkaaminen mitään maksa ;D
Et sitten jaksanut skrollata sivua yhtään alaspäin mistä vastauskin löytyy...? - Piru
Saara kirjoitti:
Eli tällä koodilla saan myös tämän päivän päivämäärän, mutta pitäisi saada myös eilisen päivämäärä.
java.sql.Date date = new java.sql.Date((new GregorianCalendar()).getTime().getTime());löytyy varmasti metodiu, jolla voi päivämääriä laskea.
Tällä hetkellä sulla on siis jo koodi millä saat tämän päivän, niin oisko tästä apua?
Calendar calendar = new GregorianCalendar();
calendar.setTime(new Date()); //nykyhetki
Sitten luetaan APIsta joku metodi:
void roll(int field, int amount)
Roll a field by a signed amount.
calendar.roll(DAY_OF_MONTH, -1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH) "." calendar.get(Calendar.MONTH) "." calendar.get(Calendar.YEAR));
Muut int-tyyppiset kentät löytyy Calendar-luokasta (siis noi jotka on isolla). - hss
Piru kirjoitti:
löytyy varmasti metodiu, jolla voi päivämääriä laskea.
Tällä hetkellä sulla on siis jo koodi millä saat tämän päivän, niin oisko tästä apua?
Calendar calendar = new GregorianCalendar();
calendar.setTime(new Date()); //nykyhetki
Sitten luetaan APIsta joku metodi:
void roll(int field, int amount)
Roll a field by a signed amount.
calendar.roll(DAY_OF_MONTH, -1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH) "." calendar.get(Calendar.MONTH) "." calendar.get(Calendar.YEAR));
Muut int-tyyppiset kentät löytyy Calendar-luokasta (siis noi jotka on isolla).Mitäs jos nykyhetki on vaikka 1.8.2004. Antaako tuo tapa sitten eiliseksi päiväksi 0.8.2004 ?
- Saara
hss kirjoitti:
Mitäs jos nykyhetki on vaikka 1.8.2004. Antaako tuo tapa sitten eiliseksi päiväksi 0.8.2004 ?
Tuo tapa ei anna mitään muuta kuin tämän päivän.
Niin ja se aiemmin annettu sivu ei ratkaisua tarjonnut.
Tässä on kaikki koodit mitä olen yrittänyt:
1.
[code]
java.sql.Date date =
new java.sql.Date((new GregorianCalendar()).getTime().getTime());
jTextField2.setText("" date);
[/code]
2.
[code]
Calendar cal = GregorianCalendar.getInstance();
DateFormat fmt = DateFormat.getInstance();
String buf = fmt.format(cal.getTime());
jTextField2.setText("" buf);
[/code]
3. [code]
java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime() 1);
jTextField2.setText("" sqlToday);
[/code]
Eli jos joku neuvoisi miten jotain yllä olevaa koodin pätkää tulisi muokata, että saisin "tulokseksi" eilisen päivän. - dfgfdg
Saara kirjoitti:
Tuo tapa ei anna mitään muuta kuin tämän päivän.
Niin ja se aiemmin annettu sivu ei ratkaisua tarjonnut.
Tässä on kaikki koodit mitä olen yrittänyt:
1.
[code]
java.sql.Date date =
new java.sql.Date((new GregorianCalendar()).getTime().getTime());
jTextField2.setText("" date);
[/code]
2.
[code]
Calendar cal = GregorianCalendar.getInstance();
DateFormat fmt = DateFormat.getInstance();
String buf = fmt.format(cal.getTime());
jTextField2.setText("" buf);
[/code]
3. [code]
java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime() 1);
jTextField2.setText("" sqlToday);
[/code]
Eli jos joku neuvoisi miten jotain yllä olevaa koodin pätkää tulisi muokata, että saisin "tulokseksi" eilisen päivän.calendar.add(GregorianCalendar.DAY_OF_MONTH, -1);
System.out.println("eilinen päivä: " format.format(calendar.getTime())); - Power Pope
Saara kirjoitti:
Tuo tapa ei anna mitään muuta kuin tämän päivän.
Niin ja se aiemmin annettu sivu ei ratkaisua tarjonnut.
Tässä on kaikki koodit mitä olen yrittänyt:
1.
[code]
java.sql.Date date =
new java.sql.Date((new GregorianCalendar()).getTime().getTime());
jTextField2.setText("" date);
[/code]
2.
[code]
Calendar cal = GregorianCalendar.getInstance();
DateFormat fmt = DateFormat.getInstance();
String buf = fmt.format(cal.getTime());
jTextField2.setText("" buf);
[/code]
3. [code]
java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime() 1);
jTextField2.setText("" sqlToday);
[/code]
Eli jos joku neuvoisi miten jotain yllä olevaa koodin pätkää tulisi muokata, että saisin "tulokseksi" eilisen päivän.Vastaus löytyy täältä jo, ja löytyy se myös sen linkin takaa minkä jo kerran heitin.
Jos haluat eilisen päivän, sun tuskin pitää lisätä nykyiseen päivään mitään, kuten tossa kolmosesimerkissä on. Ekalla ja tokalla esimerkillä saat vain nykyisen päivän.
Alla on pätkä mikä ainakin toimii...
import java.util.Date;
import java.util.Calendar;
public class DateTest extends Object
{
public static void main( String[] args ) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int day = cal.get(Calendar.DATE);
cal.add(Calendar.DAY_OF_MONTH, -1);
System.out.println("Eilen oli " cal.getTime());
}
}
Jos muuten haet tällä ratkaisua kysymykseen jonka lähetit Tietokanta-palstalle, tämä on _todella_ huono tapa ratkaista ongelma, ja varmasti tuottaa vaikeuksia myöhemmin. - Piru
hss kirjoitti:
Mitäs jos nykyhetki on vaikka 1.8.2004. Antaako tuo tapa sitten eiliseksi päiväksi 0.8.2004 ?
osaa laskea kalenteria. Eli sitten aika muuttuisi edelliseksi kuukaudeksi.
Saattoi kyllä olla niinkin, että joku noista ajoista alkoi nollasta. Äkkiäkö sen tarkistaa.
Jos roll ei toimi, niin sitten add-metodilla lisää -1 päivään ja sitten tulostaa. - Piru
Saara kirjoitti:
Tuo tapa ei anna mitään muuta kuin tämän päivän.
Niin ja se aiemmin annettu sivu ei ratkaisua tarjonnut.
Tässä on kaikki koodit mitä olen yrittänyt:
1.
[code]
java.sql.Date date =
new java.sql.Date((new GregorianCalendar()).getTime().getTime());
jTextField2.setText("" date);
[/code]
2.
[code]
Calendar cal = GregorianCalendar.getInstance();
DateFormat fmt = DateFormat.getInstance();
String buf = fmt.format(cal.getTime());
jTextField2.setText("" buf);
[/code]
3. [code]
java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime() 1);
jTextField2.setText("" sqlToday);
[/code]
Eli jos joku neuvoisi miten jotain yllä olevaa koodin pätkää tulisi muokata, että saisin "tulokseksi" eilisen päivän.Testasin sekä add- että roll-metodeilla ja tässä tulokset:
Molemmilla tulee eilinen päivä ihan ok.
Date today = new java.util.Date();
Calendar kalenteri = new GregorianCalendar();
kalenteri.setTime(today);
System.out.println(kalenteri.get(Calendar.DAY_OF_MONTH));
kalenteri.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(kalenteri.get(Calendar.DAY_OF_MONTH));
Ja tänään ruudulle tulostuu 4 ja seuraavalle riville 3 - Saara
Piru kirjoitti:
osaa laskea kalenteria. Eli sitten aika muuttuisi edelliseksi kuukaudeksi.
Saattoi kyllä olla niinkin, että joku noista ajoista alkoi nollasta. Äkkiäkö sen tarkistaa.
Jos roll ei toimi, niin sitten add-metodilla lisää -1 päivään ja sitten tulostaa.No nyt toimii :)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Eläkeläiset siirrettävä muuttotappioalueille
Joutoväki pois ruuhkauttamasta elättäjien arkea. Samalla putoaa jokaisen asumiskulut ja rahaa jää enemmän kuluttamiseen.2802621Riikka runnoo: datakeskuksille tulee UUSI yritystuki
"Suomen valtio erikseen tukee esimerkiksi kryptovaluuttaan tai aikuisviihteeseen tai muuhun keskittyviä datakeskuksia."772453SDP pelastaa uppoavan Suomen
2027 kun SDP voittaa ylivoimaisesti vaalit alkaa Suomen uusi raju syöksy kohti täystyöllisyyttä ja turvallisempaa yhteis552195Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti
Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj761877- 1201628
Jopa Espanjassa talous kasvaa, Purra vain irvistelee
Huomaa kuinka Purra on Suomen historian huonoin miniseteri, joka ei ole saanut aikaiseksi kuin tuhoa, Siis jopa vasemmis591554- 1341406
En kerro nimeäsi nainen
Sillä olet nyt salaisuus jota kannan sydämessäni. Tämä mitä tunnen ja kuinka sinuun vahvasti ihastuin on jo niin erikoin731308Auta mua mies
Ota vielä yhteyttä, keksi oikeat sanat että vuosien ajan kasvanut muuri murtuu meidän väliltä vaikka aluksi vain vähän.881130Olet kiva ihminen
En kiellä sitä yhtään. Sinussa on hyvin paljon erinomaisia puolia, enemmän varmasti kun meissä muissa. Sitten on puoli761099