当前位置: 首页>>代码示例>>Java>>正文


Java ResolverStyle.SMART属性代码示例

本文整理汇总了Java中java.time.format.ResolverStyle.SMART属性的典型用法代码示例。如果您正苦于以下问题:Java ResolverStyle.SMART属性的具体用法?Java ResolverStyle.SMART怎么用?Java ResolverStyle.SMART使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在java.time.format.ResolverStyle的用法示例。


在下文中一共展示了ResolverStyle.SMART属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: resolveYMD

@Override  // override for performance
LocalDate resolveYMD(Map <TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
    int y = YEAR.checkValidIntValue(fieldValues.remove(YEAR));
    if (resolverStyle == ResolverStyle.LENIENT) {
        long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
        long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
        return LocalDate.of(y, 1, 1).plusMonths(months).plusDays(days);
    }
    int moy = MONTH_OF_YEAR.checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR));
    int dom = DAY_OF_MONTH.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH));
    if (resolverStyle == ResolverStyle.SMART) {  // previous valid
        if (moy == 4 || moy == 6 || moy == 9 || moy == 11) {
            dom = Math.min(dom, 30);
        } else if (moy == 2) {
            dom = Math.min(dom, Month.FEBRUARY.length(Year.isLeap(y)));

        }
    }
    return LocalDate.of(y, moy, dom);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:IsoChronology.java

示例2: resolveYMD

ChronoLocalDate resolveYMD(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
    int y = range(YEAR).checkValidIntValue(fieldValues.remove(YEAR), YEAR);
    if (resolverStyle == ResolverStyle.LENIENT) {
        long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
        long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
        return date(y, 1, 1).plus(months, MONTHS).plus(days, DAYS);
    }
    int moy = range(MONTH_OF_YEAR).checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR), MONTH_OF_YEAR);
    ValueRange domRange = range(DAY_OF_MONTH);
    int dom = domRange.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH), DAY_OF_MONTH);
    if (resolverStyle == ResolverStyle.SMART) {  // previous valid
        try {
            return date(y, moy, dom);
        } catch (DateTimeException ex) {
            return date(y, moy, 1).with(TemporalAdjusters.lastDayOfMonth());
        }
    }
    return date(y, moy, dom);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:AbstractChronology.java

示例3: data_resolverStyle

@DataProvider(name="resolverStyle")
Object[][] data_resolverStyle() {
    return new Object[][] {
            {"2000/15/30", ResolverStyle.LENIENT, null, 2001, 3, 30},
            {"2000/02/30", ResolverStyle.SMART, null, 2000, 2, 29},
            {"2000/02/29", ResolverStyle.STRICT, null, 2000, 2, 29},

            {"2000/15/30 CE", ResolverStyle.LENIENT, null, 2001, 3, 30},
            {"2000/02/30 CE", ResolverStyle.SMART, null, 2000, 2, 29},
            {"5/02/29 BCE", ResolverStyle.STRICT, null, 5, 2, 29},

            {"4/02/29 BCE", ResolverStyle.STRICT, DateTimeException.class, -1, -1, -1},
            {"2000/02/30 CE", ResolverStyle.STRICT, DateTimeException.class, -1, -1, -1},

    };
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:16,代码来源:TCKResolverStyle.java

示例4: data_resolve_yearOfEra

@DataProvider(name = "resolve_yearOfEra")
Object[][] data_resolve_yearOfEra() {
    return new Object[][] {
            // era only
            {ResolverStyle.STRICT, -1, null, null, null, null},
            {ResolverStyle.SMART, -1, null, null, null, null},
            {ResolverStyle.LENIENT, -1, null, null, null, null},

            {ResolverStyle.STRICT, 0, null, null, ChronoField.ERA, 0},
            {ResolverStyle.SMART, 0, null, null, ChronoField.ERA, 0},
            {ResolverStyle.LENIENT, 0, null, null, ChronoField.ERA, 0},

            {ResolverStyle.STRICT, 1, null, null, ChronoField.ERA, 1},
            {ResolverStyle.SMART, 1, null, null, ChronoField.ERA, 1},
            {ResolverStyle.LENIENT, 1, null, null, ChronoField.ERA, 1},

            {ResolverStyle.STRICT, 2, null, null, null, null},
            {ResolverStyle.SMART, 2, null, null, null, null},
            {ResolverStyle.LENIENT, 2, null, null, null, null},

            // era and year-of-era
            {ResolverStyle.STRICT, -1, 2012, null, null, null},
            {ResolverStyle.SMART, -1, 2012, null, null, null},
            {ResolverStyle.LENIENT, -1, 2012, null, null, null},

            {ResolverStyle.STRICT, 0, 2012, null, ChronoField.YEAR, -2011},
            {ResolverStyle.SMART, 0, 2012, null, ChronoField.YEAR, -2011},
            {ResolverStyle.LENIENT, 0, 2012, null, ChronoField.YEAR, -2011},

            {ResolverStyle.STRICT, 1, 2012, null, ChronoField.YEAR, 2012},
            {ResolverStyle.SMART, 1, 2012, null, ChronoField.YEAR, 2012},
            {ResolverStyle.LENIENT, 1, 2012, null, ChronoField.YEAR, 2012},

            {ResolverStyle.STRICT, 2, 2012, null, null, null},
            {ResolverStyle.SMART, 2, 2012, null, null, null},
            {ResolverStyle.LENIENT, 2, 2012, null, null, null},

            // year-of-era only
            {ResolverStyle.STRICT, null, 2012, null, ChronoField.YEAR_OF_ERA, 2012},
            {ResolverStyle.SMART, null, 2012, null, ChronoField.YEAR, 2012},
            {ResolverStyle.LENIENT, null, 2012, null, ChronoField.YEAR, 2012},

            {ResolverStyle.STRICT, null, Integer.MAX_VALUE, null, null, null},
            {ResolverStyle.SMART, null, Integer.MAX_VALUE, null, null, null},
            {ResolverStyle.LENIENT, null, Integer.MAX_VALUE, null, ChronoField.YEAR, Integer.MAX_VALUE},

            // year-of-era and year
            {ResolverStyle.STRICT, null, 2012, 2012, ChronoField.YEAR, 2012},
            {ResolverStyle.SMART, null, 2012, 2012, ChronoField.YEAR, 2012},
            {ResolverStyle.LENIENT, null, 2012, 2012, ChronoField.YEAR, 2012},

            {ResolverStyle.STRICT, null, 2012, -2011, ChronoField.YEAR, -2011},
            {ResolverStyle.SMART, null, 2012, -2011, ChronoField.YEAR, -2011},
            {ResolverStyle.LENIENT, null, 2012, -2011, ChronoField.YEAR, -2011},

            {ResolverStyle.STRICT, null, 2012, 2013, null, null},
            {ResolverStyle.SMART, null, 2012, 2013, null, null},
            {ResolverStyle.LENIENT, null, 2012, 2013, null, null},

            {ResolverStyle.STRICT, null, 2012, -2013, null, null},
            {ResolverStyle.SMART, null, 2012, -2013, null, null},
            {ResolverStyle.LENIENT, null, 2012, -2013, null, null},
    };
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:64,代码来源:TCKMinguoChronology.java


注:本文中的java.time.format.ResolverStyle.SMART属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。