Code snippet:
DurationFormat.getInstance(new ULocale("th@calendar=buddhist"));
Result:
java.util.MissingResourceException: Duration data not found for th@calendar=buddhist
at com.ibm.icu.impl.duration.impl.ResourceBasedPeriodFormatterDataService.get(ResourceBasedPeriodFormatterDataService.java:122)
at com.ibm.icu.impl.duration.BasicPeriodFormatterFactory.getData(BasicPeriodFormatterFactory.java:213)
at com.ibm.icu.impl.duration.BasicPeriodFormatter.withLocale(BasicPeriodFormatter.java:43)
at com.ibm.icu.impl.duration.BasicDurationFormatterFactory.getFormatter(BasicDurationFormatterFactory.java:147)
at com.ibm.icu.impl.duration.BasicDurationFormat.<init>(BasicDurationFormat.java:74)
at com.ibm.icu.impl.duration.BasicDurationFormat.getInstance(BasicDurationFormat.java:31)
at com.ibm.icu.text.DurationFormat.getInstance(DurationFormat.java:32)
....
stripped tags from locale string before looking up resource
the default duration format doesn't use the calendar, at least not currently.