public function testAssertLeapYear() { // 2012 is a leap year $this->assertEquals(true, Datium::create(2012, 1, 1, 0, 0, 0)->leap()->get()); // 2013 is not leap year $this->assertEquals(false, Datium::create(2013, 1, 1, 0, 0, 0)->leap()->get()); // 2014 is not leap year $this->assertEquals(false, Datium::create(2014, 1, 1, 0, 0, 0)->leap()->get()); // 2015 is not leap year $this->assertEquals(false, Datium::create(2015, 1, 1, 0, 0, 0)->leap()->get()); // 2015 is a leap year $this->assertEquals(true, Datium::create(2016, 1, 1, 0, 0, 0)->leap()->get()); // 1395 is a leap year $this->assertEquals(true, Datium::create(2016, 6, 13, 0, 0, 0)->to('jalali')->leap()->get()); // // // 1396 is not a leap year $this->assertEquals(false, Datium::create(2017, 3, 21, 0, 0, 0)->to('jalali')->leap()->get()); // // // 1397 is not a leap year $this->assertEquals(false, Datium::create(2018, 3, 21, 0, 0, 0)->to('jalali')->leap()->get()); // // // 1398 is not a leap year $this->assertEquals(false, Datium::create(2019, 3, 21, 0, 0, 0)->to('jalali')->leap()->get()); // // // 1399 is a leap year $this->assertEquals(true, Datium::create(2020, 3, 20, 0, 0, 0)->to('jalali')->leap()->get()); }
public function testLastDayOfMonth() { // leap year $this->assertEquals(29, Datium::create(2016, 2, 1)->dayOf()->lastDayMonth()); $this->assertEquals(31, Datium::create(2015, 1, 1)->dayOf()->lastDayMonth()); $this->assertEquals(30, Datium::create(2015, 1, 1)->to('hijri')->dayOf()->lastDayMonth()); $this->assertEquals(30, Datium::create(2015, 1, 1)->to('jalali')->dayOf()->lastDayMonth()); }
<?php use OpenCafe\Datium; use OpenCafe\Tools\Leap; return array('convert_to' => function ($date_time) { $config = (include 'Jalali.php'); $date_time = Datium::create($date_time)->to('jalali')->object(); $year = $date_time->format('Y'); $month = $date_time->format('n'); $day = $date_time->format('d'); $temp_day = 0; for ($i = 1; $i < $month; $i++) { $temp_day += $config['month_days_number'][$i]; } $temp_day += $day; $leap = new Leap($year); if ($leap->get() && $month > 11) { $temp_day++; } $_year = (($year - 1) * 365.2422 + $temp_day - 119) / 354.367 + 1; $_year = explode('.', $_year); $year = $_year[0]; $_month = $_year[1]; $var_temp = '0.0'; for ($i = strlen($_month); $i > 2; $i--) { $var_temp .= '0'; } $var_temp .= '1'; $_month = $_month * $var_temp; $_month = $_month * 12 + 1; $_month = explode('.', $_month);
public function testHijriToJalali() { $date = Datium::create(1437, 9, 7)->from('hijri')->to('jalali')->get(); $this->assertEquals('1395-03-24 00:00:00', $date); }
public function testGregorianCalendar() { $gregorian = Datium::create(2016, 6, 25, 12, 0, 0)->get('l jS F Y h:i:s A'); $this->assertEquals('Saturday 25th June 2016 12:00:00 PM', $gregorian); }