Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды
#3

PHP код:
/*
    Возвращает UNIX TIMESTAMP в соответствии с указанной датой.
    ПОДРОБНЕЕ
        UNIX TIMESTAMP это кол-во секунд со дня 01.01.1970, 00:00:00 до
        указанной в параметрах даты
    ВЕРНЕТ
        число integer (4 байта)
*/
stock date_to_timestamp
(
    
year 1970,    month 1,    day  1,
    
hour =  0,    minute 0,    second 0
)
{
    switch ( 
month )
    {
        case 
day += 31;    case day += 59;    case day += 90;
        case 
day += 120;    case day += 151;    case day += 181;
        case 
day += 212;    case day += 243;    case 10 day += 273;
        case 
11 day += 304;    case 12 day += 334;
    }
    return ( 
second minute*60 hour*3600 + (day 1)*86400
        
+ (year 1970)*31557600 + ( year == 21600 ) );

PHP код:
/*
    Возвращает по ссылке дату в соответствии с указанным UNIX TIMESTAMP.
    ПОДРОБНЕЕ
        UNIX TIMESTAMP это кол-во секунд со дня 01.01.1970, 00:00:00 до
        указанной в параметрах даты. Если он правильно указан, то в
        year будет помещен год, в month - месяц, в day - день,
        в hour - час, в minute - минута, в second - секунда.
    ВЕРНЕТ
        ничего
*/
stock timestamp_to_date
(
    
unix_timestamp 0,
    & 
year 1970,        & month 1,        & day  1,
    & 
hour =  0,        & minute 0,        & second 0
)
{
    
year unix_timestamp 31557600;
    
unix_timestamp -= year 31557600;
    
year += 1970;
    if ( 
year == unix_timestamp -= 21600;
    
day unix_timestamp 86400;
    switch ( 
day )
    {
        
// в second будет временно хранится число месяца
        
case  0..30 : { second day;    month 1; }
        case  
31..58 : { second day 31month 2; }
        case  
59..89 : { second day 59month 3; }
        case 
90..119 : { second day 90month 4; }
        case 
120..150 : { second day 120month 5; }
        case 
151..180 : { second day 151month 6; }
        case 
181..211 : { second day 181month 7; }
        case 
212..242 : { second day 212month 8; }
        case 
243..272 : { second day 243month 9; }
        case 
273..303 : { second day 273month 10; }
        case 
304..333 : { second day 304month 11; }
        case 
334..366 : { second day 334month 12; }
    }
    
unix_timestamp -= day 86400;
    
hour unix_timestamp 3600;
    
unix_timestamp -= hour 3600;
    
minute unix_timestamp 60;
    
unix_timestamp -= minute 60;
    
day second 1;
    
second unix_timestamp;

by MX_Master
Reply


Messages In This Thread
Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by Crystal_Speed - 24.02.2012, 22:08
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by lost13 - 25.02.2012, 06:08
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by xJester - 25.02.2012, 06:12
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by Crystal_Speed - 25.02.2012, 08:03
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by Crystal_Speed - 25.02.2012, 08:05
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by xJester - 25.02.2012, 08:07
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by xJester - 25.02.2012, 08:09
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by Crystal_Speed - 25.02.2012, 08:20
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by jhonyxakep - 25.02.2012, 08:20
Re: Функция которая переведёт Unixtime в число, месяц, год , минуты и секунды - by Stepashka - 25.02.2012, 08:29

Forum Jump:


Users browsing this thread: 3 Guest(s)