📌  相关文章
📜  Java中的 IsoChronology resolveDate() 方法与示例

📅  最后修改于: 2022-05-13 01:55:14.411000             🧑  作者: Mango

Java中的 IsoChronology resolveDate() 方法与示例

Java.time.chrono.IsoChronology类的resolveDate()方法用于通过在特定解析器样式的帮助下解析与地图中特定 long 值关联的 chrono 字段,根据 Iso 日历检索本地日期。

句法:

public LocalDate resolveDate(
       Map fieldValues,
       ResolverStyle resolverStyle)

参数:此方法将以下参数作为参数:

  • fieldvalues:这将包含计时字段。
  • resolverStyle:这将解析 chrono 字段并提供日期。

返回值:此方法在特定解析器样式的帮助下,通过解析与地图中特定长值关联的 Chrono 字段,根据 Iso 日历返回本地日期。

以下是说明resolveDate()方法的示例:

示例 1:

// Java program to demonstrate
// resolveDate() method
  
import java.util.*;
import java.io.*;
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
import java.time.format.*;
  
public class GFG {
    public static void main(String[] argv)
    {
        try {
            // creating and initializing
            // LocalDate Object
            LocalDate hidate
                = LocalDate.now();
  
            // getting IsoChronology
            // used in LocalDate
            IsoChronology crono
                = hidate.getChronology();
  
            // creating and initializing HashMap
            HashMap map
                = new HashMap();
  
            // putting element into HashMap
            map.put((TemporalField)
                        ChronoField.EPOCH_DAY,
                    30l);
  
            // getting the resolveDate with
            // SMART ResolverStyle
            // by using resolveDate() method
            hidate
                = crono.resolveDate(
                    map,
                    ResolverStyle.LENIENT);
  
            // display the result
            System.out.println("LocalDate is : "
                               + hidate);
        }
        catch (DateTimeException e) {
            System.out.println("passed parameter can"
                               + " not form a date");
            System.out.println("Exception thrown: "
                               + e);
        }
    }
}
输出:
LocalDate is : 1970-01-31

示例 2:

// Java program to demonstrate
// resolveDate() method
  
import java.util.*;
import java.io.*;
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
import java.time.format.*;
  
public class GFG {
    public static void main(String[] argv)
    {
        try {
            // creating and initializing
            // LocalDate Object
            LocalDate hidate
                = LocalDate.now();
  
            // getting IsoChronology
            // used in LocalDate
            IsoChronology crono
                = hidate.getChronology();
  
            // creating and initializing HashMap
            HashMap map
                = new HashMap();
  
            // putting element into HashMap
            map.put((TemporalField)
                        ChronoField.HOUR_OF_AMPM,
                    2000l);
  
            // getting the resolveDate with
            // SMART ResolverStyle
            // by using resolveDate() method
            hidate
                = crono.resolveDate(
                    map,
                    ResolverStyle.LENIENT);
  
            // display the result
            System.out.println("LocalDate is : "
                               + hidate);
        }
        catch (DateTimeException e) {
            System.out.println(
                "passed parameter can"
                + " not form a date");
            System.out.println(
                "Exception thrown: "
                + e);
        }
    }
}
输出:
LocalDate is : null

参考: https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/IsoChronology.html#resolveDate-java.util.Map-java.time.format.ResolverStyle-