Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  JAVA abi hetke kuupäeva kohta märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 16.04.2012 01:05:32 JAVA abi hetke kuupäeva kohta vasta tsitaadiga

http://www.upload.ee/download/2264428/07a4fb1f49d1811dd9f/TypeDate.d

REL'i andmebaasisüsteemi kataloogis oli JAVA keeles kirjutaud valmis selline skript, nagu ülaltoodud aadressil on. TypeDate.d , mis defineerib kuupäeva tüüpi, suhteliselt algeliselt vms.
Siin on üks näide, kuidas Date tüüpi veergu sisestatakse ( Now() ) funktsiooni abil millisekundid.
Tulemus on järgmine.

Var Date_table
BASE RELATION {code_col INTEGER, date_col Date}
KEY {code_col};
INSERT Date_table RELATION
{TUPLE {code_col GET_UNIQUE_NUMBER(), date_col Date(Now())}
};


Aga, mul oleks vaja nii, et Date tüüpi veergu tuleks hetke kuupäev (või ka timestamp, tunnid, minutid). Ma küll googeldasin, aga googeldades annab igasuguseid erinevaid lahendusi, ning, ma ei oska neid seal tööle panna..
Et mis tuleks muuta antud skriptis vms, et seda teostada..icon_smile.gif

Tänud ette..
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 16.04.2012 11:49:03 vasta tsitaadiga

http://tutorials.jenkov.com/java-date-time/java-util-date.html
Siin peaks su küsimuasele vastus olema.

long now = System.currentTimeMillis();

java.util.Date date = new java.util.Date(now);

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 16.04.2012 14:15:11 vasta tsitaadiga

Nii, aga kuhu ma peaksin need read panema, seal TypeDate.d failis..

tsitaat:
long now = System.currentTimeMillis();
java.util.Date date = new java.util.Date(now);

Sellega tuleb kuupäevaks selline: Mon Apr 16 14:02:39 EEST 2012
Ma ei tea kas see töötab niimoodi, proovisin küll Rel's, seda skripti käivitada, koos üleval oleva 2 reaga, aga ma ei tea täpselt kuhu need täpselt panna tuleb. Käima ta läks niimoodi.
tsitaat:
.......
/** Value constructor. Construct date given a number of milliseconds
* since January 1, 1970, 00:00:00 GMT. */
public Date(Generator generator, ValueInteger milliseconds) {
super(generator);
long now = System.currentTimeMillis();
java.util.Date d = new java.util.Date(now);
}
........

Aga väärtused on tabelis, Date tüüpi veerus ikka millisekundid..


Seal .d skripti failis tulenevalt peaks Date hoidma Integere, (millisekundid).
Seda peaks siis muutma, et ta hoiaks väärtuseid järgmise kujul "yyyy/MM/dd hh:mm"
Üritasin teha, aga tulutult..

Tänud ette..
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Vermon
Kreisi kasutaja
Vermon

liitunud: 04.12.2003




sõnum 16.04.2012 14:22:52 vasta tsitaadiga

public String toString() {
DateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm");
return df.format(d);
}

Ma vist ei saanud ikka päris õigesti aru mis teema on aga jätan igaksjuhuks ikkagi oma postituse icon_cool.gif
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 16.04.2012 14:36:37 vasta tsitaadiga

No aga miks baas ei või hoida millisekundeid? icon_smile.gif Need on ju üheselt teisendatavad pärast inimloetavaks timestampiks .. ja kindlasti on andmebaasil kergem ja efektiivsem sellisel kujul andmeid hoida.
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 16.04.2012 14:52:24 vasta tsitaadiga

Fukiku kirjutas:
No aga miks baas ei või hoida millisekundeid? icon_smile.gif Need on ju üheselt teisendatavad pärast inimloetavaks timestampiks .. ja kindlasti on andmebaasil kergem ja efektiivsem sellisel kujul andmeid hoida.


Okei, vist tõesti on nii efektiivsem.
Aga, kui näiteks tahetakse andmeid näha sealt tabelist, siis visuaalselt millisekundid ei anna loetavat infot. Näiteks kui andmeid tahetakse näha tabelist, siis võiks need tõesti teisendada inimloetavaks..
Aga kuidas seda teha?
Selleks peaks REL'is tegema arvatavasti operaatori, mis tagastab CHAR'i , et väärtused oleksid sellised (yyyy/MM/dd hh:mm).
OPERATOR MILLSEC_TO_DATE(i INTEGER) RETURNS CHAR Java FOREIGN

Väike näide, kuidas REL'is operaatoreid luuakse..
Spoiler Spoiler Spoiler


Kuna, endal JAVA'ga lood väga kiita pole, äkki, oskab äkki keegi selle põhjal valmis teha sellise operaatori, mis tagastaks kuupäeva..icon_smile.gif
Oleksin vääga tänulik igasuguse abi eest..


viimati muutis multizync 16.04.2012 15:50:50, muudetud 1 kord
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 16.04.2012 14:54:17 vasta tsitaadiga

Kas sellist operaatorit juba olemas ei ole? Tundub suhteliselt mõistlik funktsionaalsus, mida üks andmebaasimootor võiks omada.. Teisalt nii palju, kui ma uurinud olen, on see REL muidugi mingi naljakas eksperimentaalne asi - võib-olla seal tõesti pole.
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 16.04.2012 16:26:34 vasta tsitaadiga



Siin on OperatorsChar skirpti fail, kus on olemas sellised operaatorid. Ise küll ei leidnud sellist...

Samas, kui mul on see kuupäeva atribuut INTEGER (mis hoiab millisekundeid), siis kui ma teeksin päringu tabelis, sellele reale, siis operaator võtab sisse INTEGERI, aga väljastama peaks CHAR'i (yyyy/MM/dd hh:mm), aga siis tekib küsimus, et kus seda CHAR väärtust hoidma hakatakse, kuna kuupäeva atribuut on INTEGER.
Või olen ma valesti aru saanud, et seda väärtust ei hoitagi kusagil, et ainult kuvatakse, et siis see ei loe..?
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 16.04.2012 18:49:22 vasta tsitaadiga

multizync kirjutas:
Nii, aga kuhu ma peaksin need read panema, seal TypeDate.d failis..

tsitaat:
long now = System.currentTimeMillis();
java.util.Date date = new java.util.Date(now);

Sellega tuleb kuupäevaks selline: Mon Apr 16 14:02:39 EEST 2012

Aga kas siis selline ei kõlba, ma pole eriti küll JAVAS kodus ja otsisin sulle näite internetist, kuid see peaks olema ju täpselt see millest sa kogu aeg räägid


long now = //  siia võtad väärtuse oma andmebaasist millisekundites
java.util.Date date = new java.util.Date(now);

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  JAVA abi hetke kuupäeva kohta
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.