-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathseconds-to-string.php
67 lines (52 loc) · 1.49 KB
/
seconds-to-string.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
// Multi language Seconds to String
function seconds_to_string( $secs = 0, $lang = 'english' ) {
$days = '';
$hours = '';
$minutes = '';
$r = '';
// Words Array for Multi language Response
$english = array( 'plural' => 's', 'separator' => ', ', 's' => 'second', 'm' => 'minute', 'h' => 'hour', 'd' => 'day' );
$persian = array( 'plural' => '', 'separator' => ' و ', 's' => 'ثانیه', 'm' => 'دقیقه', 'h' => 'ساعت', 'd' => 'روز' );
$language = $english;
if ( isset( ${$lang} ) )
$language = ${$lang};
if ( $secs >= 86400 ) {
$days = floor( $secs / 86400 );
$secs = $secs % 86400;
$r = $days . ' ' . $language['d'];
if ( $days <> 1 )
$r .= $language['plural'];
if ( $secs > 0 )
$r .= $language['separator'];
}
if ( $secs >= 3600 ) {
$hours = floor( $secs / 3600 );
$secs = $secs % 3600;
$r .= $hours . ' ' . $language['h'];
if ( $hours <> 1 )
$r .= $language['plural'];
if ( $secs > 0 )
$r .= $language['separator'];
}
if ( $secs >= 60 ) {
$minutes = floor( $secs / 60 );
$secs = $secs % 60;
$r .= $minutes . ' ' . $language['m'];
if ( $minutes <> 1 )
$r .= $language['plural'];
if ( $secs > 0 )
$r .= $language['separator'];
}
$r .= $secs . ' ' . $language['s'];
if ( $secs <> 1 )
$r .= $language['plural'];
return $r;
}
echo seconds_to_string( 12345 ) . "<br/>" . seconds_to_string( 12345, 'persian' );
/*
OUTPUT:
3 hours, 25 minutes, 45 seconds
3 ساعت و 25 دقیقه و 45 ثانیه
*/
?>