Avatar billede mibu Nybegynder
19. august 2007 - 21:02 Der er 27 kommentarer og
1 løsning

Vis kun årstal!

Hvis jeg kun vil have vist årstalet i et indtastet dato format Y-m-d hvordan gør jeg så det?

$min_indtastede_dato = åååå
Avatar billede riversen Nybegynder
19. august 2007 - 21:06 #1
$min_indtastede_dato = substr( $variabel, 0, strpos( $variabel, "-" ) )
Avatar billede mibu Nybegynder
19. august 2007 - 21:19 #2
Øh! intet kommer frem!

Jeg gør sådan her:
$year = $dato1;
$year = substr( $variabel, 0, strpos( $variabel, "-" ) );

Hvor $dato1 er indtastet af bruger, skulle $year så ikke være mit årstal?
Avatar billede riversen Nybegynder
19. august 2007 - 21:23 #3
du skal erstatte $variabel med $year. $variabel var blot for eksemplets skyld
Avatar billede riversen Nybegynder
19. august 2007 - 21:24 #4
eller med $dato1 og så drop $year = $dato1;
Avatar billede mibu Nybegynder
19. august 2007 - 21:25 #5
Ok! jeg tror jeg går i seng :-)
Har set lyset1

$year = substr( $dato1, 0, strpos( $dato1, "-" ) );

læg et svar.
Avatar billede riversen Nybegynder
19. august 2007 - 21:25 #6
bingo... bare behold pointene
Avatar billede mibu Nybegynder
19. august 2007 - 21:30 #7
Tak!
Ved du også hvor jeg skal sætte et minus ind, for at få sidste år ?
$lastyear = substr( $dato1, 0, strpos( $dato1, "-" ) );
Avatar billede riversen Nybegynder
19. august 2007 - 21:36 #8
ikke forstået
Avatar billede riversen Nybegynder
19. august 2007 - 21:37 #9
nååå...
$så kan du jo bare sige $lastyear = $year-1;
Avatar billede mibu Nybegynder
19. august 2007 - 21:38 #10
Nu fik jeg mit årstal frem, men kan jeg også ud fra samme måde trække et år fra, så jeg får vist sidste år?
Avatar billede mibu Nybegynder
19. august 2007 - 21:39 #11
Okay det var næsten for simpelt :-)
Avatar billede olebole Juniormester
19. august 2007 - 21:40 #12
<ole>

riversen >> Det tror og håber jeg da ikke (men har dog ikke testet). Du har lige brugt en streng-funktion på variablen ... så kan du ikke bruge en nummerisk uden at konvertere  =)

Umiddelbart ville jeg skrive:
    $year = substr( $dato1, 0, strpos( $dato1, "-" ) );
    $lastYear = intval($year)-1;

- om ikke andet så for min egen mentalhygiejnes skyld  ;o)

/mvh
</bole>
Avatar billede mibu Nybegynder
19. august 2007 - 21:41 #13
Tak igen og godnat :-)
Avatar billede riversen Nybegynder
19. august 2007 - 21:42 #14
ole: mener jeg nu godt man kan... php er jo rimelig typesvag
Avatar billede mibu Nybegynder
19. august 2007 - 21:44 #15
Kære Ole
Undskyld jeg sådan ødelægger din nattesøvn, men lo... virker :-)
Det gør din ikke også - Sorry!!
Avatar billede mibu Nybegynder
19. august 2007 - 21:46 #16
UNDSKYLD OLE!!!!!
Jo din virker også der var bare kapital Y i lastyear!

Men hvorfor din metode?
Avatar billede olebole Juniormester
19. august 2007 - 21:47 #17
Jeg har testet og må er kende, at PHP er et endnu mere snottet og sloppy sprog, end jeg havde forventet - jo, det lader sig sandelig gøre!  :o|

mibu >> Hvis "Det gør din ikke også - Sorry!!" er din proprietære syntaks for "Det gør din ikke - Sorry!!", så må jeg bedrøve dig med, at du tager fejl  =)
Avatar billede riversen Nybegynder
19. august 2007 - 21:49 #18
fordi intval konverterer $year til en talværdi... $year er en tekststreng som indeholder tal. I princippet giver det ikke mening at trække 1 fra en tekststreng, men PHP kan godt finde ud af, at tekststrengen er numerisk. Dette vil ikke fungere i fx java. Håber det blev forståeligt
Avatar billede olebole Juniormester
19. august 2007 - 21:50 #19
Ups ... fik ikke opdateret browseren  =)

Dette er en funktion, der bliver kørt på en streng:
    $year = substr( $dato1, 0, strpos( $dato1, "-" ) );

Derfor er $year en streng ... ikke et tal. Derfor burde du ikke kunne skrive:
    $lastYear = $year-1;

- men burde først konveretere $year til et tal ... men det er desværre ikke nødvendigt i PHP  :o|

Det skal nu ikke afholde mig fra at bruge den mere logiske syntaks  ;o)
Avatar billede olebole Juniormester
19. august 2007 - 21:51 #20
riversen "men PHP kan godt finde ud af, at tekststrengen er numerisk" >> Nej, men PHP kan ikke finde ud af, at $year er en streng!

- pokkers til forskel  ;o)
Avatar billede olebole Juniormester
19. august 2007 - 21:53 #21
riversen >> Det er helt korrekt, dette ikke vil fungere i JAVA. Kan du komme på bare ét andet sprog, der lider af den slags hjerneblødninger? Jeg kan ikke ...
Avatar billede riversen Nybegynder
19. august 2007 - 21:54 #22
ole:
så se her:

sourcen:
<?php
    $test = "123123";
    echo "is string: " . is_string( $test ) . '<br />';
    $test = 123123;
    echo "is string: " . is_string( $test );
?>

giver output her:
http://www.riversen.dk/test/test.php

så jo, PHP ved godt det er en streng
Avatar billede mibu Nybegynder
19. august 2007 - 21:54 #23
Så lærte vi lidt ekstra idag, men hvis > $lastYear = intval($year)-1; < er mere korrekt så vil jeg bruge den, om ikke andet så bare for at vide med mig selv at det er gjort rigtigt. Så tak til begge de herrer.
Avatar billede olebole Juniormester
19. august 2007 - 21:56 #24
riversen >> det gør blot det hele endnu værre. Det ændrer sproget fra 'uvidende' til 'stupidt'  =)

mibu >> Selvtak  ;o)
Avatar billede riversen Nybegynder
19. august 2007 - 21:56 #25
glimrende idé
Avatar billede riversen Nybegynder
19. august 2007 - 21:57 #26
ole: nej, det er ikke lige det sprog man skal starte med, hvis man vil undgå at lære en del unoder.
Avatar billede olebole Juniormester
19. august 2007 - 21:58 #27
- enig  ;o)
Avatar billede zurekk Nybegynder
20. august 2007 - 13:15 #28
"nej, det er ikke lige det sprog man skal starte med, hvis man vil undgå at lære en del unoder."

Darn.... -_-
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