# javax.xml.datatype

***

**1. Creating an XMLGregorianCalendar from a Date**

```java
import java.util.Date;
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    Date date = new Date();
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(date);
    System.out.println(xmlDate); // Prints "2023-03-08T18:02:51.669-05:00"
  }
}
```

**2. Parsing an XMLGregorianCalendar from a String**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    System.out.println(xmlDate); // Prints "2023-03-08T18:02:51.669-05:00"
  }
}
```

**3. Getting the Year from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int year = xmlDate.getYear();
    System.out.println(year); // Prints "2023"
  }
}
```

**4. Getting the Month from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int month = xmlDate.getMonth();
    System.out.println(month); // Prints "3"
  }
}
```

**5. Getting the Day from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int day = xmlDate.getDay();
    System.out.println(day); // Prints "8"
  }
}
```

**6. Getting the Hours from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int hours = xmlDate.getHour();
    System.out.println(hours); // Prints "18"
  }
}
```

**7. Getting the Minutes from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int minutes = xmlDate.getMinute();
    System.out.println(minutes); // Prints "2"
  }
}
```

**8. Getting the Seconds from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int seconds = xmlDate.getSecond();
    System.out.println(seconds); // Prints "51"
  }
}
```

**9. Getting the Milliseconds from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int milliseconds = xmlDate.getMillisecond();
    System.out.println(milliseconds); // Prints "669"
  }
}
```

**10. Getting the Timezone Offset from an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    int timezoneOffset = xmlDate.getTimezoneOffset();
    System.out.println(timezoneOffset); // Prints "-300" (in minutes)
  }
}
```

**11. Converting an XMLGregorianCalendar to a String**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    String dateString = xmlDate.toString();
    System.out.println(dateString); // Prints "2023-03-08T18:02:51.669-05:00"
  }
}
```

**12. Comparing Two XMLGregorianCalendar Objects**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate1 = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    XMLGregorianCalendar xmlDate2 = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    boolean isEqual = xmlDate1.compare(xmlDate2) == 0;
    System.out.println(isEqual); // Prints "true"
  }
}
```

**13. Adding Years to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    xmlDate.add(DatatypeConstants.MONTHS, 12);
    System.out.println(xmlDate); // Prints "2024-03-08T18:02:51.669-05:00"
  }
}
```

**14. Adding Months to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    xmlDate.add(DatatypeConstants.MONTHS, 1);
    System.out.println(xmlDate); // Prints "2023-04-08T18:02:51.669-05:00"
  }
}
```

**15. Adding Days to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    xmlDate.add(DatatypeConstants.DAYS, 1);
    System.out.println(xmlDate); // Prints "2023-03-09T18:02:51.669-05:00"
  }
}
```

**16. Adding Hours to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    xmlDate.add(DatatypeConstants.HOURS, 1);
    System.out.println(xmlDate); // Prints "2023-03-08T19:02:51.669-05:00"
  }
}
```

**17. Adding Minutes to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:00");
    xmlDate.add(DatatypeConstants.MINUTES, 1);
    System.out.println(xmlDate); // Prints "2023-03-08T18:03:51.669-05:00"
  }
}
```

**18. Adding Seconds to an XMLGregorianCalendar**

```java
import javax.xml.datatype.*;

public class Example {

  public static void main(String[] args) throws Exception {
    XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar("2023-03-08T18:02:51.669-05:

```
