brat Cum fac sa scad 2 datede tip Ymd si sa aflu numarul de zile ?
Results 1 to 5 of 5

Thread: Cum fac sa scad 2 datede tip Ymd si sa aflu numarul de zile ?

  1. #1
    Registered User ButcheR's Avatar
    Join Date
    May 2000
    Location
    Beyond the Invisible

    Question Cum fac sa scad 2 datede tip Ymd si sa aflu numarul de zile ?

    sa zicem ca am 2 date de tip int ...(Ymd)
    $20010411
    $20050409

    cum fac sa scad cele 2 date si sa obtin zile ?
    Am facut o functie care transforma data in numar de zile dar e cam naspa...nu se poate transforma cele 2 nr in ceva de tip date si sa fac operatii dupa aia cum vreau ?
    Starcraft is my religion...
    Kill them all and let God sort 'em out.
    I7 930 2.8Ghz, Mobo Gigabyte X58A-UD3R, 6GB DD3 Kingston Hyper-X 1600MHz, Gainward 570 GTX Phantom, X-FI Xtreme Music, Boxe Corsair SP2500, SSD Intel 520 240GB, Mouse Logitech G5 + Funk, Carcasa Corsair Obsidian 650D + sursa 650W Seasonic-X, monitor Dell U2410

  2. #2
    Trance addicted Raven's Avatar
    Join Date
    Nov 2001
    Location
    Here and there
    DHB14 - 300 - Thread
    Man, Pascal, C, php, tot aceeaşi gândire este, zic eu. Ai cam avea 2 posibilităţi. Una e cea făcută deja de tine (transformate întâi în zile, ţinând cont de ani bisecţi, zile ale lunilor şi făcut socoteala), iar cealaltă este să calculezi diferenţa în ani/luni/zile, la fel ţinând cont de ani bisecţi, numărul de zile al lunilor, şi apoi transformând acea diferenţă în zile (again: ţinând cont de ani bisecţi, numărul de zile al lunilor).

    Precum observi, varianta a doua nu e prea optimă. Multe calcule şi verificări în plus... Aşa că, deocamdată, IMHO, tot varianta ta rămâne mai bună. Şi în fond, vrei să obţii diferenţa în zile, nu în ani/luni/zile, de aici e mai uşor să lucrezi direct în zile.

    Ce voiai tu să transformi acele Ymd în „ceva de tip date” mi se pare cam aiurea şi forţat, că nu poţi să lucrezi cu ele ca oricare alte numere şi să le scazi. Tot eşti obligat să te legi de numărul de ani/luni/zile. Dacă scazi (ca numere obişnuite) din 20050409 pe 20010411, obţii 39998. Mă cam îndoiesc că ăsta e nr. de zile real. Problema stă în faptul că baza este zecimală (şi trecerea la ordinul superior se face la puteri ale lui 10), pe când trecerea la luna/anul următor se face la 28/29/30/31, respectiv 365/366 zile. Precum vezi nu le poţi folosi, nici controla printr-o scădere directă. Mai că te-ai îndrepta spre acea a 2-a variantă...

    Mamă, ce-am mai scris...
    „Trance Energy.. a small step for man, a huge leap for mankind...”

  3. #3
    Registered User ButcheR's Avatar
    Join Date
    May 2000
    Location
    Beyond the Invisible
    Man, Pascal, C, php, tot aceeaşi gândire este
    S-a gasit cineva care stie exact ce vreau eu:
    http://www.phpromania.net/forum/view...hp?p=2641#2641

    si dupa cum zice si emil de acolo, php are functii pt aproape orice e nevoie in mod uzual.
    mktime transforma data in secunde si asa scapi de bataie de cap cu ani bisecti & stuff.
    Starcraft is my religion...
    Kill them all and let God sort 'em out.
    I7 930 2.8Ghz, Mobo Gigabyte X58A-UD3R, 6GB DD3 Kingston Hyper-X 1600MHz, Gainward 570 GTX Phantom, X-FI Xtreme Music, Boxe Corsair SP2500, SSD Intel 520 240GB, Mouse Logitech G5 + Funk, Carcasa Corsair Obsidian 650D + sursa 650W Seasonic-X, monitor Dell U2410

  4. #4
    bj
    bj is offline
    trademark bj's Avatar
    Join Date
    Apr 2003
    Location
    On-Line
    mai poti sa te folosesti de functiile MySQL pentru asta. Este o functie TODAYS care face lucrul asta.

    Cateodata e de preferat, datorita preciziei mai mare pe care o are motorul SQL fata de PHP.
    Astazi sunt un invingator!

    Intel PIV 2,67 GHz Boxed FSB 533 | Gigabyte GA-8IPE1000-L (Rev 2.0) | 1GB DDRAM | Gygabyte Ati Radeon 9200 128/128 GV-R92128DH | 80 GB @ 7200 rpm Maxtor | DVD-RW Teac | 19" Trinitron Compaq P910

  5. #5
    Registered User CyberCaster's Avatar
    Join Date
    Oct 2002
    Location
    I.P. pah stinga
    lol ... bj de accord ... nu am helpu de la php langa mine da stiu sigur ca are o optiune in genu ..... de shie de fiecare data ne scarpinam invers..... si Raven...... las-o cu pascalu ... e bun ca algoritmica.... da atat... totushi...
    Jealousy, the green eyed Monster!

  1.  
    DHB14 - 728 - Last Post

Similar Threads

  1. Replies: 26
    Last Post: 05-08-2013, 07:26
  2. [Vodafone] Cum fac sa aflu cine m-a sunat cu numar ascuns?
    By cRAig_maRduk in forum GSM & Telecomunicaţii
    Replies: 5
    Last Post: 26-02-2008, 20:35
  3. Replies: 2
    Last Post: 17-01-2008, 13:23
  4. Replies: 1
    Last Post: 17-03-2005, 10:45
  5. cum aflu numarul de telefon care ma apeleaza
    By GIUSELA in forum GSM & Telecomunicaţii
    Replies: 17
    Last Post: 14-08-2002, 22:40

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •