tbDate: add toZonedDateTimeString
This commit is contained in:
		
							parent
							
								
									aae995de5d
								
							
						
					
					
						commit
						6b8eae035e
					
				@ -94,7 +94,10 @@ public class TbDate implements Serializable, Cloneable {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ZonedDateTime getZonedDateTime() {
 | 
			
		||||
        return instant.atZone(zoneIdUTC);
 | 
			
		||||
        return getZonedDateTime(zoneIdUTC);
 | 
			
		||||
    }
 | 
			
		||||
    public ZonedDateTime getZonedDateTime(ZoneId zoneId) {
 | 
			
		||||
        return instant.atZone(zoneId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public LocalDateTime getLocalDateTime() {
 | 
			
		||||
@ -149,13 +152,20 @@ public class TbDate implements Serializable, Cloneable {
 | 
			
		||||
    public String toString(String localeStr, String optionsStr) {
 | 
			
		||||
        return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL).withLocale(locale));
 | 
			
		||||
    }
 | 
			
		||||
    public String toISOZonedDateTimeString() {
 | 
			
		||||
    public String toZonedDateTimeString() {
 | 
			
		||||
        return getZonedDateTime().toString();
 | 
			
		||||
    }
 | 
			
		||||
    public String toISOZonedDateTimeString(DateTimeFormatter formatter) {
 | 
			
		||||
    public String toZonedDateTimeString(DateTimeFormatter formatter) {
 | 
			
		||||
        return getZonedDateTime().format(formatter);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String toZonedDateTimeString(String zoneIdStr) {
 | 
			
		||||
        return getZonedDateTime(ZoneId.of(zoneIdStr)).toString();
 | 
			
		||||
    }
 | 
			
		||||
    public String toZonedDateTimeString(DateTimeFormatter formatter, String zoneIdStr) {
 | 
			
		||||
        return getZonedDateTime(ZoneId.of(zoneIdStr)).format(formatter);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String toLocaleDateString() {
 | 
			
		||||
        return toLocaleDateString(localeUTC.getLanguage());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -30,7 +30,6 @@ import org.thingsboard.common.util.JacksonUtil;
 | 
			
		||||
import java.time.DateTimeException;
 | 
			
		||||
import java.time.ZoneId;
 | 
			
		||||
import java.time.format.DateTimeFormatter;
 | 
			
		||||
import java.time.format.DateTimeParseException;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Locale;
 | 
			
		||||
@ -374,19 +373,34 @@ class TbDateTest {
 | 
			
		||||
        TbDate d1 = new TbDate(23, 9, 7, 8, 4, 5, "+04:00");
 | 
			
		||||
        TbDate d2 = new TbDate(23, 9, 7, 8, 4, 5, "-03:00");
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toISOZonedDateTimeString());
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("Thu, 7 Sep 2023 04:04:05 GMT", d1.toISOZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toZonedDateTimeString());
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05", d1.toZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("Thu, 7 Sep 2023 04:04:05 GMT", d1.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T04:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toISOZonedDateTimeString());
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("Thu, 7 Sep 2023 11:04:05 GMT", d2.toISOZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toZonedDateTimeString());
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z", d2.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05", d2.toZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("Thu, 7 Sep 2023 11:04:05 GMT", d2.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T11:04:05Z", d2.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    void TestZoneDateTimeFormatterToString () {
 | 
			
		||||
        TbDate d1 = new TbDate(23, 9, 7, 8, 4, 5, "-04:00");
 | 
			
		||||
        Assert.assertEquals("2023-09-07T12:04:05Z[UTC]", d1.toZonedDateTimeString());
 | 
			
		||||
        Assert.assertEquals("2023-09-07T12:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT,"America/New_York"));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T08:04:05-04:00", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME,"America/New_York"));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T08:04:05-04:00[America/New_York]", d1.toZonedDateTimeString("America/New_York"));
 | 
			
		||||
        Assert.assertEquals("Thu, 7 Sep 2023 08:04:05 -0400", d1.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME,"America/New_York"));
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals("2023-09-07T14:04:05+02:00[Europe/Berlin]", d1.toZonedDateTimeString("Europe/Berlin"));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T14:04:05+02:00", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME,"Europe/Berlin"));
 | 
			
		||||
        Assert.assertEquals("2023-09-08T02:04:05+14:00[Etc/GMT-14]", d1.toZonedDateTimeString("Etc/GMT-14"));
 | 
			
		||||
        Assert.assertEquals("2023-09-07T00:04:05-12:00[Etc/GMT+12]", d1.toZonedDateTimeString("Etc/GMT+12"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user