diff --git a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/Wbase_claim_time.java b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/Wbase_claim_time.java
index 1e5355b40..67b91fbf7 100644
--- a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/Wbase_claim_time.java
+++ b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/Wbase_claim_time.java
@@ -71,7 +71,6 @@ public class Wbase_claim_time extends Wbase_claim_base {
public void Write_to_bfr(Bry_bfr bfr, Bry_bfr tmp_time_bfr, Bry_fmtr tmp_time_fmtr, Wdata_hwtr_msgs msgs, byte[] ttl) {
try {
Wbase_date date = this.Time_as_date();
- if (this.Calendar_is_julian()) date = Wbase_date_.To_julian(date);
Wbase_date_.To_bfr(bfr, tmp_time_fmtr, tmp_time_bfr, msgs, date);
} catch (Exception e) {
Xoa_app_.Usr_dlg().Warn_many("", "", "failed to write time; ttl=~{0} pid=~{1} err=~{2}", ttl, this.Pid(), Err_.Message_gplx_log(e));
@@ -80,7 +79,6 @@ public class Wbase_claim_time extends Wbase_claim_base {
public static void Write_to_bfr(Bry_bfr bfr, Bry_bfr tmp_time_bfr, Bry_fmtr tmp_time_fmtr, Wdata_hwtr_msgs msgs
, byte[] ttl, byte[] pid, Wbase_date date, boolean calendar_is_julian) {
try {
- if (calendar_is_julian) date = Wbase_date_.To_julian(date);
Wbase_date_.To_bfr(bfr, tmp_time_fmtr, tmp_time_bfr, msgs, date);
} catch (Exception e) {
Xoa_app_.Usr_dlg().Warn_many("", "", "failed to write time; ttl=~{0} pid=~{1} err=~{2}", ttl, pid, Err_.Message_gplx_log(e));
diff --git a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_.java b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_.java
index f7a54baab..db0560382 100644
--- a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_.java
+++ b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_.java
@@ -36,22 +36,23 @@ public class Wbase_date_ {
return new Wbase_date(year * year_sign, month, day, hour, minute, second, precision, before, after, calendar_is_julian);
}
public static Wbase_date To_julian(Wbase_date date) {
- int a = (int)Math_.Floor((14 - date.Month() / 12));
- int y = (int)date.Year() + 4800 - a;
- int m = date.Month() + 12 * a - 3;
- int julian = date.Day() + (int)Math_.Floor((153 * m + 2) / 5) + 365 * y + (int)Math_.Floor(y / 4) - (int)Math_.Floor(y / 100) + (int)Math_.Floor(y / 400) - 32045;
- int c = julian + 32082;
- int d = (int)Math_.Floor((4 * c + 3) / 1461);
- int e = c - (int)Math_.Floor((1461 * d) / 4);
- int n = (int)Math_.Floor((5 * e + 2) / 153);
- int new_y = d - 4800 + (int)Math_.Floor(n / 10);
- int new_m = n + 3 - 12 * (int)Math_.Floor(n / 10);
- int new_d = e - (int)Math_.Floor((153 * n + 2) / 5) + 1;
+ long a = (long)Math_.Floor((14 - date.Month() / 12));
+ long y = date.Year() + 4800 - a;
+ long m = date.Month() + 12 * a - 3;
+ long julian = date.Day() + (long)Math_.Floor((153 * m + 2) / 5) + 365 * y + (long)Math_.Floor(y / 4) - (long)Math_.Floor(y / 100) + (long)Math_.Floor(y / 400) - 32045;
+ long c = julian + 32082;
+ long d = (long)Math_.Floor((4 * c + 3) / 1461);
+ long e = c - (long)Math_.Floor((1461 * d) / 4);
+ long n = (long)Math_.Floor((5 * e + 2) / 153);
+ long new_y = d - 4800 + (long)Math_.Floor(n / 10);
+ int new_m = (int)(n + 3 - 12 * (long)Math_.Floor(n / 10));
+ int new_d = (int)(e - (long)Math_.Floor((153 * n + 2) / 5) + 1);
return new Wbase_date(new_y, new_m, new_d, date.Hour(), date.Minute(), date.Second(), date.Precision(), date.Before(), date.After(), date.Calendar_is_julian());
}
public static void To_bfr(Bry_bfr bfr, Bry_fmtr tmp_fmtr, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wbase_date date) {
- boolean calendar_is_julian = date.Calendar_is_julian();
- if (calendar_is_julian) date = To_julian(date);
+ // TOMBSTONE: use "actual" date; do not do conversion to julian; DATE:2016-11-10
+ // boolean calendar_is_julian = date.Calendar_is_julian();
+ // if (calendar_is_julian) date = To_julian(date);
long year = date.Year();
int months_bgn = msgs.Month_bgn_idx();
byte[][] months = msgs.Ary();
@@ -110,8 +111,9 @@ public class Wbase_date_ {
}
break;
}
- if (calendar_is_julian)
- bfr.Add(msgs.Time_julian());
+ // TOMBSTONE: use "actual" date; do not do conversion to julian; DATE:2016-11-10
+ // if (calendar_is_julian)
+ // bfr.Add(msgs.Time_julian());
Xto_str_beforeafter(bfr, tmp_fmtr, tmp_bfr, msgs, date);
}
private static void Xto_str_beforeafter(Bry_bfr bfr, Bry_fmtr tmp_fmtr, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wbase_date date) {
diff --git a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_tst.java b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_tst.java
index 6f8eb6175..ee88d79e6 100644
--- a/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_tst.java
+++ b/400_xowa/src/gplx/xowa/xtns/wbases/claims/itms/times/Wbase_date_tst.java
@@ -45,7 +45,7 @@ public class Wbase_date_tst {
fxt.Test_xto_str("+00000123456-01-01T00:00:00Z", 4, "in 100,000 years");
}
@Test public void Xto_str_julian() {
- fxt.Init_calendar_is_julian_(Bool_.Y).Test_xto_str("+00000001600-01-02T00:00:00Z", Wbase_date.Fmt_ymd, "18 Jan 1600jul");
+ fxt.Init_calendar_is_julian_(Bool_.Y).Test_xto_str("+00000001600-01-02T00:00:00Z", Wbase_date.Fmt_ymd, "2 Jan 1600");
}
@Test public void Xto_str_before_after() {
String date = "+00000002001-02-03T04:05:06Z";
diff --git a/400_xowa/src/gplx/xowa/xtns/wbases/hwtrs/Wdata_visitor__html_wtr_tst.java b/400_xowa/src/gplx/xowa/xtns/wbases/hwtrs/Wdata_visitor__html_wtr_tst.java
index 61ba3caea..1163a2101 100644
--- a/400_xowa/src/gplx/xowa/xtns/wbases/hwtrs/Wdata_visitor__html_wtr_tst.java
+++ b/400_xowa/src/gplx/xowa/xtns/wbases/hwtrs/Wdata_visitor__html_wtr_tst.java
@@ -38,7 +38,7 @@ public class Wdata_visitor__html_wtr_tst {
fxt
.Test_claim_val
( fxt.Wdata_fxt().Make_claim_time(1, "2001-02-03 04:05:06", Bry_.Empty, Bry_.new_a7("http://www.wikidata.org/entity/Q1985786"))
- , "4:05:06 25 Feb 2001jul" // NOTE: "Feb 3" is "Feb 25" in julian time
+ , "4:05:06 3 Feb 2001"
);
}
@Test public void Quantity_ubound_lbound() {