小编Hav*_*Lin的帖子

为什么使用相同的时区获取不同的 localDate

java.sql.Date date = java.sql.Date.valueOf("1900-01-01");
org.joda.time.LocalDate localDate = new org.joda.time.LocalDate(date);
Run Code Online (Sandbox Code Playgroud)

基于上面的代码,我做了一些测试如下:

  • 问题 #1 为什么我会得到具有相同时区的不同 localDate 对象?

如果我将本地时区更改为UTC+8 Singapore Timezone,将会得到1899-12-31

如果我将本地时区更改为UTC+8 China Timezone,将会得到1900-01-01

  • 问题 #2 为什么我在不同的时区得到相同的时间?

如果我将本地时区更改为UTC-8 America/Los_Angeles Timezone,将会得到1900-01-01

如果我将本地时区更改为UTC+8 China Timezone,将会得到1900-01-01

有人可以帮忙澄清一下吗??它有点困惑。

java datetime date jodatime java-time

2
推荐指数
1
解决办法
1660
查看次数

返回Java 8 forEach

 Boolean isSuccess = true;
    if(aMap.size() != bMap.size())
    {
        return false;
    }

    aMap.entrySet().forEach(entry -> {
        AKey aKey = entry.getKey();
        BValue bValue = bMap.get(aKey);

        if(bValue == null)
            return;

        AValue aValue = entry.getValue();
        if(!aValue.getClosed().equals(bValue.getClosed()))
            return;

        if(!aValue.getClosedToArrival().equals(bValue.getClosedToArrival()))
            return;

        if(!aValue.getClosedToDeparture().equals(bValue.getClosedToDeparture()))
            return;

        if(!aValue.getLengthOfStayArrival().equals(bValue.getLengthOfStayArrival()))
            return;
    });

    return isSuccess;
Run Code Online (Sandbox Code Playgroud)

验证失败时如何返回false?我试图添加return false,如下所示:

if(!aValue.getLengthOfStayArrival().equals(bValue.getLengthOfStayArrival()))
        return false; 
Run Code Online (Sandbox Code Playgroud)

但这是意料之外的表达,谁能帮我看看?

foreach java-8

1
推荐指数
1
解决办法
695
查看次数

标签 统计

date ×1

datetime ×1

foreach ×1

java ×1

java-8 ×1

java-time ×1

jodatime ×1