PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Utils / Timezone.php
independent-analytics / IAWP / Utils Last commit date
BladeOne.php 2 years ago CSV.php 9 months ago Calculations.php 2 years ago Currency.php 8 months ago Device.php 1 year ago Device_Cache.php 2 years ago Dir.php 5 months ago Format.php 5 months ago Link_Validator.php 6 months ago Number_Formatter.php 5 months ago Obj.php 6 months ago Request.php 11 months ago Salt.php 1 year ago Security.php 1 year ago Server.php 2 years ago Singleton.php 2 years ago String_Util.php 2 years ago Timezone.php 5 months ago URL.php 6 months ago WP_Async_Request.php 1 year ago
Timezone.php
73 lines
1 <?php
2
3 namespace IAWP\Utils;
4
5 use DateTimeZone;
6 /** @internal */
7 class Timezone
8 {
9 public static function utc_timezone() : DateTimeZone
10 {
11 return new DateTimeZone('utc');
12 }
13 public static function utc_offset() : string
14 {
15 return '+00:00';
16 }
17 public static function utc_offset_in_hours() : float
18 {
19 return 0;
20 }
21 public static function utc_offset_in_seconds() : int
22 {
23 return 0;
24 }
25 public static function site_timezone() : DateTimeZone
26 {
27 $timezone_string = \get_option('timezone_string');
28 if ($timezone_string) {
29 return new DateTimeZone($timezone_string);
30 } else {
31 return new DateTimeZone(self::site_offset());
32 }
33 }
34 // Will return an offset using the WordPress timezone set by the user
35 // Example return values: -04:00, +00:00, or +5:45
36 public static function site_offset() : string
37 {
38 // Start with the offset such as -4, 0, or 5.75
39 $offset_in_hours = (float) \get_option('gmt_offset');
40 // Build a string to represent the offset such as -04:00, +00:00, or +5:45
41 $result = '';
42 // Start with either - or +
43 $result .= $offset_in_hours < 0 ? '-' : '+';
44 $whole_part = \abs($offset_in_hours);
45 $hour_part = \floor($whole_part);
46 $minute_part = $whole_part - $hour_part;
47 $hours = \strval($hour_part);
48 $minutes = \strval($minute_part * 60);
49 // Add hour part to result
50 $result .= \str_pad($hours, 2, '0', \STR_PAD_LEFT);
51 // Add separator
52 $result .= ':';
53 // Add minute part to result
54 $result .= \str_pad($minutes, 2, '0', \STR_PAD_LEFT);
55 return $result;
56 }
57 public static function site_offset_in_hours() : float
58 {
59 return (float) \get_option('gmt_offset');
60 }
61 /**
62 * @param \DateTime $date The offset depends on what time of year the datetime is for
63 *
64 * @return int Offset in seconds
65 */
66 public static function site_offset_in_seconds(\DateTime $date) : int
67 {
68 $timezone = self::site_timezone();
69 $offset_in_seconds = $timezone->getOffset($date);
70 return $offset_in_seconds;
71 }
72 }
73