Avatar billede summersun Nybegynder
10. maj 2003 - 15:22 Der er 33 kommentarer og
1 løsning

dato problem

Hejsa

sidder og roder med dato i javacript (i forbindelse med asp) hvor jeg først laver tiden om til millisekunder ved hjælp af getTime()..

problemet er så bare lige den at når jeg skal lave det om til en dato igen med new Date() og så siger f.eks

dato.getFullYear()

så får jeg ikke lige den dato jeg havde skrevet ind :(

håber der er nogen der har en forklaring på dette...
Avatar billede Slettet bruger
10. maj 2003 - 15:23 #1
Jeg håber selv du kan se, at det ikke er nok informationer... :)
Avatar billede roenving Novice
10. maj 2003 - 15:24 #2
Jamen hvis du først har et Date-objekt og skal have et nyt så tag dog en kopi ...
Avatar billede summersun Nybegynder
10. maj 2003 - 15:26 #3
phoenixv >>

hehe.. får lige lidt mere så...

date = "30-10-79" datoen kommer fra et inputfelt


function convertDate(date){

var thistime = new Date(date);
now = thistime.getTime();

    return now;

}

---------------------------


var date = new Date(now);
alert(date.getYear());


håber det var lidt bedre.....
Avatar billede roenving Novice
10. maj 2003 - 15:29 #4
Jamen constructoren for Date skal have yy,mm,dd som format, hvis du har år måned og dag
Avatar billede Slettet bruger
10. maj 2003 - 15:30 #5
Man kan ikke bare give en tilfældigt formateret dato til et dato-objekt og så regne med, at det selv finder ud af resten!
Du skal gøre noget lignende dette:

<script>
function konverterDato(felt) {
  temp = felt.value.split("-");
  dato = new Date(parseInt(temp[2], 10), parseInt(temp[1], 10) - 1, parseInt(temp[0], 10));
  alert(dato.getFullYear());
}
</script>

<input type="text" onBlur="konverterDato(this);">
Avatar billede summersun Nybegynder
10. maj 2003 - 15:31 #6
roenving >>

man kan godt sætte millisekunder :)
Avatar billede roenving Novice
10. maj 2003 - 15:31 #7
dvs. du må gøre:

function convertDate(date){

dateParts = date.split("-");
var thistime = new Date(dateParts[2],dateParts[1],dateParts[0]);
now = thistime.getTime();

    return now;

}
Avatar billede roenving Novice
10. maj 2003 - 15:32 #8
Jeps, men den kan ikke forstå '30-10-79'
Avatar billede Slettet bruger
10. maj 2003 - 15:33 #9
roenving>> Det skaber komplikationer ved datoer såsom 03-09-02, da browseren vil fortolke tallene som heksidemaltal.
Avatar billede roenving Novice
10. maj 2003 - 15:34 #10
-- og så som phoenixv har husket: parseInt ,-)
Avatar billede summersun Nybegynder
10. maj 2003 - 15:35 #11
dateParts = date.split("-");

det der vil den ikk acceptere... :( [jeg bruger asp med javascript]
Avatar billede Slettet bruger
10. maj 2003 - 15:35 #12
... med 10 som anden parameter! :)
Avatar billede Slettet bruger
10. maj 2003 - 15:36 #13
summersun>> Brug nu mit script. Det virker.
Avatar billede Slettet bruger
10. maj 2003 - 15:36 #14
Deusden har det ingen globale variabler og derfor mindre grund til forvirring.
Avatar billede Slettet bruger
10. maj 2003 - 15:37 #15
roenving>> Husk også, at månednummeret skal være én mindre.
Avatar billede roenving Novice
10. maj 2003 - 15:38 #16
Du har helt ret ...

I min iver overså jeg både det ene og det andet ...
Avatar billede summersun Nybegynder
10. maj 2003 - 15:40 #17
phoenixv >>

ehm.. :( det virker i hvertfald ikk hos mig :(
Avatar billede Slettet bruger
10. maj 2003 - 15:40 #18
Så bruger du det forkert.
Avatar billede summersun Nybegynder
10. maj 2003 - 15:42 #19
Microsoft JScript runtime error '800a138f'

'value' is not an object

/opret_arrangement.asp, line 14


linje 14>>  temp = felt.value.split("-");
Avatar billede Slettet bruger
10. maj 2003 - 15:42 #20
Prøv fx dette:

<html>
<head>
<script>
function konverterDato(felt) {
  temp = felt.value.split("-");
  dato = new Date(parseInt(temp[2], 10), parseInt(temp[1], 10) - 1, parseInt(temp[0], 10));
  alert(dato.getFullYear());
}
</script>
</head>
<body>
<form>
<input type="text" name="datoFelt"> <input type="button" value="ok" onClick="konverterDato(this.form.datoFelt);">
</form>
</body>
</html>
Avatar billede Slettet bruger
10. maj 2003 - 15:42 #21
Funktionen skal have en reference til et tekstfelt-objekt. Ikke datostrengen.
Avatar billede summersun Nybegynder
10. maj 2003 - 15:44 #22
ja...

men som sagt.. sender feltes indhold videre til en Asp side som så skal regne det om...
Avatar billede Slettet bruger
10. maj 2003 - 15:45 #23
Så udtrækker du bare millisekunderne med getTime.
Avatar billede Slettet bruger
10. maj 2003 - 15:47 #24
Mit script viser dig bare, hvordan du får et input fra brugeren korrekt ind i et dato-objekt. Så må du selv bygge videre på det.
Avatar billede summersun Nybegynder
10. maj 2003 - 15:52 #25
ja, men det bygger jo på at jeg bruger split()

og den vil ikke æde den funktion :(
Avatar billede Slettet bruger
10. maj 2003 - 15:52 #26
Jo, i mit eksempel.
Avatar billede Slettet bruger
10. maj 2003 - 15:52 #27
Du må gøre noget galt. Smid et link.
Avatar billede summersun Nybegynder
10. maj 2003 - 15:53 #28
ja, men ikke i ASP...
Avatar billede Slettet bruger
10. maj 2003 - 15:55 #29
Ok, på den måde... Jeg troede, du mente et client-side script, som så sendte informationerne videre til en database.

Så bør du bruge ASP-kategorien.
Avatar billede Slettet bruger
10. maj 2003 - 15:56 #30
Eller evt. client-side lægge antal millisekunder ind i et hidden-felt i formen og så gøre noget med disse i ASP-scriptet. Det sparer server-kræfter.
Avatar billede summersun Nybegynder
10. maj 2003 - 15:57 #31
oki...

havde bare den opfattelse af at man skulle stille spørgsmålene herinde, nu hvor det er javascript man bruger...

men så hopper jeg derover....

takker..

hvis du også vil have nogel point så må du lige smide et svar ;)
Avatar billede Slettet bruger
10. maj 2003 - 16:01 #32
Nej tak, jeg hjalp jo ikke.
Men du bør helt klart overveje det med at klare noget af processen client-side.
Avatar billede summersun Nybegynder
10. maj 2003 - 16:02 #33
takker.. :)
Avatar billede roenving Novice
10. maj 2003 - 16:05 #34
-- øeh, heller ikke meget hjælp herfra ?-|
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Paychex Europe

Scrum Master

Rambøll Management Consulting

Senior AI Engineer