package org.nutz.lang;
import static org.junit.Assert.assertEquals;
import java.util.Date;
import org.junit.Test;
public class TimesTest {
private static void AD(String b, String e, Date[] ds) {
assertEquals(b, Times.sDT(ds[0]));
assertEquals(e, Times.sDT(ds[1]));
}
/**
* For issue #524
*/
@Test
public void test_with_timezone() {
long ms0 = Times.ams("2013-09-14T12:33:14+08:00");
long ms1 = Times.ams("2013-09-14T12:33:14-08:00");
assertEquals(16 * 3600 * 1000, ms1 - ms0);
}
/**
* For issue #524
*/
@Test
public void test_sep_by_T() {
Date d0 = Times.D("2013-09-14 12:33:14");
Date d1 = Times.D("2013-09-14T12:33:14");
assertEquals(d0.getTime(), d1.getTime());
}
@Test
public void test_1940() {
Date d = Times.D("1940-8-15");
assertEquals("1940-08-15", Times.sD(d));
}
@Test
public void test_d() {
Date d = new Date(System.currentTimeMillis());
assertEquals(Times.now().getTime() / 1000, Times.D(Times.sDT(d))
.getTime() / 1000);
}
@Test
public void test_ztask_weeks() {
long base = Times.D("2012-02-06 17:35:12").getTime();
AD("2012-02-05 00:00:00", "2012-02-11 23:59:59", Times.week(base, 0));
AD("2012-01-29 00:00:00", "2012-02-04 23:59:59", Times.week(base, -1));
AD("2012-01-22 00:00:00", "2012-01-28 23:59:59", Times.week(base, -2));
AD("2012-02-12 00:00:00", "2012-02-18 23:59:59", Times.week(base, 1));
AD("2012-02-19 00:00:00", "2012-02-25 23:59:59", Times.week(base, 2));
AD("2012-01-22 00:00:00",
"2012-02-11 23:59:59",
Times.weeks(base, -2, 0));
AD("2012-01-22 00:00:00",
"2012-02-25 23:59:59",
Times.weeks(base, -2, 2));
// 测测跨年
base = Times.D("2012-01-04 17:35:12").getTime();
AD("2011-12-25 00:00:00",
"2012-01-14 23:59:59",
Times.weeks(base, 1, -1));
}
}