diff --git a/icu4j/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java b/icu4j/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java new file mode 100644 index 0000000000..8f71c05a5d --- /dev/null +++ b/icu4j/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java @@ -0,0 +1,84 @@ +/* + ******************************************************************************* + * Copyright (C) 1996-2004, International Business Machines Corporation and * + * others. All Rights Reserved. * + ******************************************************************************* + * + */ + +package com.ibm.icu.dev.demo.timescale; + +import java.util.Locale; + +import com.ibm.icu.text.MessageFormat; +import com.ibm.icu.util.Calendar; +import com.ibm.icu.util.SimpleTimeZone; +import com.ibm.icu.util.TimeZone; +import com.ibm.icu.util.UniversalTimeScale; + +/** + * This class demonstrates how to use UniversalTimeScale to + * convert from one local time scale to another. + * + * @see UniversalTimeScale + * + * @draft ICU 3.2 + */ +public class PivotDemo { + + /** + * The default constructor. + * + * @draft ICU 3.2 + */ + public PivotDemo() + { + } + + /** + * The main() method uses UniversalTimeScale to + * convert from the Java and Unix time scales to the ICU time scale. It uses + * a Calendar object to display the ICU time values. + * + * @param args the command line arguments. + * + * @draft ICU 3.2 + */ + public static void main(String[] args) + { + TimeZone utc = new SimpleTimeZone(0, "UTC"); + Calendar cal = Calendar.getInstance(utc, Locale.ENGLISH); + MessageFormat fmt = new MessageFormat("{1} = {0, date, full} {0, time, full}"); + Object arguments[] = {cal, null}; + + arguments[0] = cal; + + System.out.println("\nJava test:"); + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = " 000000000000000"; + System.out.println(fmt.format(arguments)); + + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62164684800000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = "-62164684800000L"; + System.out.println(fmt.format(arguments)); + + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62135769600000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = "-62135769600000L"; + System.out.println(fmt.format(arguments)); + + System.out.println("\nUnix test:"); + + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x80000000, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = "0x80000000"; + System.out.println(fmt.format(arguments)); + + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = "0x00000000"; + System.out.println(fmt.format(arguments)); + + cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x7FFFFFFF, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME)); + arguments[1] = "0x7FFFFFFF"; + System.out.println(fmt.format(arguments)); + + } +}