tbDate: comments3
This commit is contained in:
		
							parent
							
								
									dfb1200e95
								
							
						
					
					
						commit
						2046c4863f
					
				@ -111,8 +111,8 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
    public String toDateString(String locale) {
 | 
					    public String toDateString(String locale) {
 | 
				
			||||||
        return toDateString(locale, ZoneId.systemDefault().toString());
 | 
					        return toDateString(locale, ZoneId.systemDefault().toString());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    public String toDateString(String localeStr, String zoneStr) {
 | 
					    public String toDateString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneStr, (locale, options) -> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    public String toTimeString() {
 | 
					    public String toTimeString() {
 | 
				
			||||||
        return toTimeString(Locale.getDefault().getLanguage());
 | 
					        return toTimeString(Locale.getDefault().getLanguage());
 | 
				
			||||||
@ -120,8 +120,8 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
    public String toTimeString(String locale) {
 | 
					    public String toTimeString(String locale) {
 | 
				
			||||||
        return toTimeString(locale, ZoneId.systemDefault().toString());
 | 
					        return toTimeString(locale, ZoneId.systemDefault().toString());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    public String toTimeString(String localeStr, String zoneStr) {
 | 
					    public String toTimeString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneStr, (locale, options) -> DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedTime(FormatStyle.FULL).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toISOString() {
 | 
					    public String toISOString() {
 | 
				
			||||||
@ -135,7 +135,7 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toUTCString(String localeStr) {
 | 
					    public String toUTCString(String localeStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneIdUTC.getId(), (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM).withLocale(locale));
 | 
					        return toLocaleString(localeStr, zoneIdUTC.getId(), (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toString() {
 | 
					    public String toString() {
 | 
				
			||||||
@ -146,8 +146,8 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
        return toString(locale, ZoneId.systemDefault().toString());
 | 
					        return toString(locale, ZoneId.systemDefault().toString());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toString(String localeStr, String zoneStr) {
 | 
					    public String toString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    public String toISOZonedDateTimeString() {
 | 
					    public String toISOZonedDateTimeString() {
 | 
				
			||||||
        return getZonedDateTime().toString();
 | 
					        return getZonedDateTime().toString();
 | 
				
			||||||
@ -161,11 +161,11 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleDateString(String localeStr) {
 | 
					    public String toLocaleDateString(String localeStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, ZoneId.systemDefault().toString(), (locale, options) -> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(locale));
 | 
					        return toLocaleString(localeStr, ZoneId.systemDefault().toString(), (locale, options) -> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleDateString(String localeStr, String optionsStr) {
 | 
					    public String toLocaleDateString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDate(options.getDateStyle()).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDate(options.getDateStyle()).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleTimeString() {
 | 
					    public String toLocaleTimeString() {
 | 
				
			||||||
@ -173,15 +173,11 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleTimeString(String localeStr) {
 | 
					    public String toLocaleTimeString(String localeStr) {
 | 
				
			||||||
        return toLocaleTimeStringWithZoneId(localeStr, ZoneId.systemDefault().toString());
 | 
					        return toLocaleTimeString(localeStr, ZoneId.systemDefault().toString());
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public String toLocaleTimeStringWithZoneId(String localeStr, String zoneStr) {
 | 
					 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneStr, (locale, options) -> DateTimeFormatter.ofLocalizedTime(options.getTimeStyle()).withLocale(locale));
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleTimeString(String localeStr, String optionsStr) {
 | 
					    public String toLocaleTimeString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedTime(options.getTimeStyle()).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedTime(options.getTimeStyle()).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleString() {
 | 
					    public String toLocaleString() {
 | 
				
			||||||
@ -192,12 +188,12 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
        return toLocaleString(locale, ZoneId.systemDefault().toString());
 | 
					        return toLocaleString(locale, ZoneId.systemDefault().toString());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleString(String localeStr, String zoneStr) {
 | 
					    public String toLocaleString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, zoneStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(options.getDateStyle(), options.getTimeStyle()).withLocale(locale));
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(options.getDateStyle(), options.getTimeStyle()).withLocale(locale));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleTbString(String localeStr, String optionsStr) {
 | 
					    public String toLocaleTbString(String localeStr, String optionsStr) {
 | 
				
			||||||
        return toLocaleTbString(localeStr, optionsStr, (locale, options) -> {
 | 
					        return toLocaleString(localeStr, optionsStr, (locale, options) -> {
 | 
				
			||||||
            String formatPattern =
 | 
					            String formatPattern =
 | 
				
			||||||
                    DateTimeFormatterBuilder.getLocalizedDateTimePattern(
 | 
					                    DateTimeFormatterBuilder.getLocalizedDateTimePattern(
 | 
				
			||||||
                            options.getDateStyle(),
 | 
					                            options.getDateStyle(),
 | 
				
			||||||
@ -208,7 +204,7 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String toLocaleTbString(String localeStr, String optionsStr, BiFunction<Locale, DateTimeFormatOptions, DateTimeFormatter> formatterBuilder) {
 | 
					    public String toLocaleString(String localeStr, String optionsStr, BiFunction<Locale, DateTimeFormatOptions, DateTimeFormatter> formatterBuilder) {
 | 
				
			||||||
        Locale locale = StringUtils.isNotEmpty(localeStr) ? Locale.forLanguageTag(localeStr) : Locale.getDefault();
 | 
					        Locale locale = StringUtils.isNotEmpty(localeStr) ? Locale.forLanguageTag(localeStr) : Locale.getDefault();
 | 
				
			||||||
        DateTimeFormatOptions options = getDateFormattingOptions(optionsStr);
 | 
					        DateTimeFormatOptions options = getDateFormattingOptions(optionsStr);
 | 
				
			||||||
        ZonedDateTime zdt = this.getInstant().atZone(options.getTimeZone().toZoneId());
 | 
					        ZonedDateTime zdt = this.getInstant().atZone(options.getTimeZone().toZoneId());
 | 
				
			||||||
@ -221,13 +217,13 @@ public class TbDate implements Serializable, Cloneable {
 | 
				
			|||||||
        return formatter.format(zdt);
 | 
					        return formatter.format(zdt);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private DateTimeFormatOptions getDateFormattingOptions(String options) {
 | 
					    private DateTimeFormatOptions getDateFormattingOptions(String optionsStr) {
 | 
				
			||||||
        DateTimeFormatOptions opt = null;
 | 
					        DateTimeFormatOptions opt = null;
 | 
				
			||||||
        if (StringUtils.isNotEmpty(options)) {
 | 
					        if (StringUtils.isNotEmpty(optionsStr)) {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                opt = JacksonUtil.fromString(options, DateTimeFormatOptions.class);
 | 
					                opt = JacksonUtil.fromString(optionsStr, DateTimeFormatOptions.class);
 | 
				
			||||||
            } catch (IllegalArgumentException iae) {
 | 
					            } catch (IllegalArgumentException iae) {
 | 
				
			||||||
                opt = new DateTimeFormatOptions(options);
 | 
					                opt = new DateTimeFormatOptions(optionsStr);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (opt == null) {
 | 
					        if (opt == null) {
 | 
				
			||||||
 | 
				
			|||||||
@ -765,10 +765,10 @@ class TbDateTest {
 | 
				
			|||||||
        Assert.assertEquals("1975 Dec 31, Wed", d1.toDateString("UTC", "America/New_York"));
 | 
					        Assert.assertEquals("1975 Dec 31, Wed", d1.toDateString("UTC", "America/New_York"));
 | 
				
			||||||
        Assert.assertEquals("Wednesday, December 31, 1975", d1.toDateString("en-US", "America/New_York"));
 | 
					        Assert.assertEquals("Wednesday, December 31, 1975", d1.toDateString("en-US", "America/New_York"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Assert.assertEquals("06:15:30", d1.toLocaleTimeStringWithZoneId("uk-UA", "Europe/Kyiv"));
 | 
					        Assert.assertEquals("06:15:30", d1.toLocaleTimeString("uk-UA", "Europe/Kyiv"));
 | 
				
			||||||
        Assert.assertEquals("06:15:30", d1.toLocaleTimeStringWithZoneId("UTC", "Europe/Kyiv"));
 | 
					        Assert.assertEquals("06:15:30", d1.toLocaleTimeString("UTC", "Europe/Kyiv"));
 | 
				
			||||||
        Assert.assertEquals("10:15:30 PM", d1.toLocaleTimeStringWithZoneId("en-US", "America/New_York"));
 | 
					        Assert.assertEquals("10:15:30 PM", d1.toLocaleTimeString("en-US", "America/New_York"));
 | 
				
			||||||
        Assert.assertEquals("22:15:30", d1.toLocaleTimeStringWithZoneId("UTC", "America/New_York"));
 | 
					        Assert.assertEquals("22:15:30", d1.toLocaleTimeString("UTC", "America/New_York"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Assert.assertEquals("06:15:30 за східноєвропейським стандартним часом", d1.toTimeString("uk-UA", "Europe/Kyiv"));
 | 
					        Assert.assertEquals("06:15:30 за східноєвропейським стандартним часом", d1.toTimeString("uk-UA", "Europe/Kyiv"));
 | 
				
			||||||
        Assert.assertEquals("06:15:30 Eastern European Time", d1.toTimeString("UTC", "Europe/Kyiv"));
 | 
					        Assert.assertEquals("06:15:30 Eastern European Time", d1.toTimeString("UTC", "Europe/Kyiv"));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user