Example #1
0
bool TestExtDatetime::test_time() {
  // XXX This test fails between 12:00AM and 12:59AM on 10/31/11 - 11/6/11
  // and between 11:00PM and 11:59PM on 3/6/11 - 3/12/11, we should fix this.
  // This issue appears to have something to do with how strtotime() handles
  // daylight savings time.
  int nextWeek = f_time() + (7 * 24 * 60 * 60);
  VS(f_date("Y-m-d", nextWeek),
     f_date("Y-m-d", f_strtotime("+1 week")));
  return Count(true);
}
Example #2
0
bool TestExtDatetime::test_mktime() {
  int lastday = f_mktime(0, 0, 0, 3, 0, 2000);
  VS(f_strftime("Last day in Feb 2000 is: %d", lastday),
     "Last day in Feb 2000 is: 29");

  /**
   * We are not supporting negative parameters
   * lastday = f_mktime(0, 0, 0, 4, -31, 2000);
   * VS(f_strftime("Last day in Feb 2000 is: %d", lastday),
   *    "Last day in Feb 2000 is: 29");
   */

  VS(f_date("M-d-Y", f_mktime(0, 0, 0, 12, 32, 1997)), "Jan-01-1998");
  VS(f_date("M-d-Y", f_mktime(0, 0, 0, 13, 1, 1997)),  "Jan-01-1998");
  VS(f_date("M-d-Y", f_mktime(0, 0, 0, 1, 1, 1998)),   "Jan-01-1998");
  VS(f_date("M-d-Y", f_mktime(0, 0, 0, 1, 1, 98)),     "Jan-01-1998");

  VS(f_mktime(), time(NULL));

  VS(f_date("h", f_mktime(9)), "09");

  return Count(true);
}
Example #3
0
bool TestExtDatetime::test_time() {
  int nextWeek = f_time() + (7 * 24 * 60 * 60);
  VS(f_date("Y-m-d", nextWeek),
     f_date("Y-m-d", f_strtotime("+1 week")));
  return Count(true);
}
Example #4
0
bool TestExtDatetime::test_gmmktime() {
  int d = f_gmmktime(0, 0, 0, 1, 1, 1998);
  VS(f_date("M d Y H:i:s",   d), "Dec 31 1997 16:00:00");
  VS(f_gmdate("M d Y H:i:s", d), "Jan 01 1998 00:00:00");
  return Count(true);
}
Example #5
0
bool TestExtDatetime::test_date() {
  int d = f_strtotime("2008-09-10 12:34:56");

  VS(f_date("l", d), "Wednesday");

  VS(f_date("l jS \\of F Y h:i:s A", d),
     "Wednesday 10th of September 2008 12:34:56 PM");

  VS(f_date("l", f_mktime(0, 0, 0, 7, 1, 2000)), "Saturday");

  VS(f_date(k_DATE_RFC822, d), "Wed, 10 Sep 08 12:34:56 -0700");

  VS(f_date(k_DATE_ATOM, f_mktime(0, 0, 0, 7, 1, 2000)),
     "2000-07-01T00:00:00-07:00");

  VS(f_date("l \\t\\h\\e jS", d), "Wednesday the 10th");

  int tomorrow = f_mktime(0,0,0,
                          f_date("m", d).toInt32(),
                          f_date("d", d).toInt32() + 1,
                          f_date("Y", d).toInt32());
  VS(tomorrow, 1221116400);

  int lastmonth = f_mktime(0,0,0,
                           f_date("m", d).toInt32() - 1,
                           f_date("d", d).toInt32(),
                           f_date("Y", d).toInt32());
  VS(lastmonth, 1218351600);

  int nextyear = f_mktime(0,0,0,
                          f_date("m", d).toInt32(),
                          f_date("d", d).toInt32(),
                          f_date("Y", d).toInt32() + 1);
  VS(nextyear, 1252566000);

  d = f_strtotime("2001-03-10 05:16:18");
  VS(f_date("F j, Y, g:i a", d), "March 10, 2001, 5:16 am");
  VS(f_date("m.d.y", d), "03.10.01");
  VS(f_date("j, n, Y", d), "10, 3, 2001");
  VS(f_date("Ymd", d), "20010310");
  VS(f_date("h-i-s, j-m-y, it is w Day z ", d),
     "05-16-18, 10-03-01, 1631 1618 6 Satam01 68 ");
  VS(f_date("\\i\\t \\i\\s \\t\\h\\e jS \\d\\a\\y.", d),
     "it is the 10th day.");
  VS(f_date("D M j G:i:s T Y", d), "Sat Mar 10 5:16:18 PST 2001");
  VS(f_date("H:m:s \\m \\i\\s\\ \\m\\o\\n\\t\\h", d), "05:03:18 m is month");
  VS(f_date("H:i:s", d), "05:16:18");

  d = f_strtotime("1955-03-10 05:16:18");
  VS(f_date("Ymd", d), "19550310");

  VS(f_date("r", -5000000000LL), "Tue, 23 Jul 1811 07:06:40 -0800");

  VS(f_mktime(0, 0, 0, 2, 26 - 91, 2010), 1259308800);

  return Count(true);
}
Example #6
0
int64 f_cal_days_in_month(int64 calendar, int64 month, int64 year) {
  if (calendar != k_CAL_GREGORIAN)  
    throw NotImplementedException("Only CAL_GREGORIAN is supported");

  return f_date("t", f_mktime(0, 0, 0, month, 1, year));
}