[multiple changes]
2001-05-10 Tom Tromey <tromey@redhat.com> * java/util/GregorianCalendar.java: Imported from Classpath. * gnu/java/locale/LocaleInformation_nl.java: New file from Classpath. * gnu/java/locale/LocaleInformation_en.java: Likewise. * gnu/java/locale/LocaleInformation_de.java: Likewise. * gnu/java/locale/LocaleInformation.java: Likewise. * natGregorianCalendar.cc: Removed. * Makefile.in: Rebuilt. * Makefile.am (nat_source_files): Removed natGregorianCalendar.cc. 2001-05-10 Tom Tromey <tromey@redhat.com> * java/text/SimpleDateFormat.java (computeCenturyStart): New method. (defaultCenturyStart): Use it. (readObject): Likewise. (SimpleDateFormat): Clear the calendar. Set the grouping on the number format. (parse): Copy the calendar before modifying it. Correctly handle the time zone. * java/util/Calendar.java (clear): Set field value(s) to 0. 2001-05-10 Jeff Sturm <jsturm@one-point.com> * Calendar.java (get): Clear areFieldsSet if requested field is not set. (set): Unset fields that depend on new value. From-SVN: r41942
This commit is contained in:
parent
b0089a92a3
commit
9622762678
@ -1,3 +1,35 @@
|
||||
2001-05-10 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* java/util/GregorianCalendar.java: Imported from Classpath.
|
||||
* gnu/java/locale/LocaleInformation_nl.java: New file from
|
||||
Classpath.
|
||||
* gnu/java/locale/LocaleInformation_en.java: Likewise.
|
||||
* gnu/java/locale/LocaleInformation_de.java: Likewise.
|
||||
* gnu/java/locale/LocaleInformation.java: Likewise.
|
||||
* natGregorianCalendar.cc: Removed.
|
||||
* Makefile.in: Rebuilt.
|
||||
* Makefile.am (nat_source_files): Removed
|
||||
natGregorianCalendar.cc.
|
||||
|
||||
2001-05-10 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* java/text/SimpleDateFormat.java (computeCenturyStart): New
|
||||
method.
|
||||
(defaultCenturyStart): Use it.
|
||||
(readObject): Likewise.
|
||||
(SimpleDateFormat): Clear the calendar. Set the grouping on the
|
||||
number format.
|
||||
(parse): Copy the calendar before modifying it. Correctly handle
|
||||
the time zone.
|
||||
|
||||
* java/util/Calendar.java (clear): Set field value(s) to 0.
|
||||
|
||||
2001-05-10 Jeff Sturm <jsturm@one-point.com>
|
||||
|
||||
* Calendar.java (get): Clear areFieldsSet if requested field
|
||||
is not set.
|
||||
(set): Unset fields that depend on new value.
|
||||
|
||||
2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
|
||||
|
||||
* java/lang/Class.h (_Jv_Self): New union type.
|
||||
|
@ -1335,7 +1335,6 @@ java/net/natInetAddress.cc \
|
||||
java/net/natPlainDatagramSocketImpl.cc \
|
||||
java/net/natPlainSocketImpl.cc \
|
||||
java/text/natCollator.cc \
|
||||
java/util/natGregorianCalendar.cc \
|
||||
java/util/zip/natDeflater.cc \
|
||||
java/util/zip/natInflater.cc
|
||||
|
||||
|
@ -73,6 +73,7 @@ CXXCPP = @CXXCPP@
|
||||
DIRLTDL = @DIRLTDL@
|
||||
DIVIDESPEC = @DIVIDESPEC@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
EXCEPTIONSPEC = @EXCEPTIONSPEC@
|
||||
EXEEXT = @EXEEXT@
|
||||
GCDEPS = @GCDEPS@
|
||||
GCINCS = @GCINCS@
|
||||
@ -119,29 +120,43 @@ here = @here@
|
||||
libgcj_basedir = @libgcj_basedir@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
@TESTSUBDIR_TRUE@SUBDIRS = @TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
|
||||
@TESTSUBDIR_FALSE@SUBDIRS = @TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
|
||||
@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
|
||||
@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
|
||||
@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
|
||||
@XLIB_AWT_TRUE@cond_x_ltlibrary = @XLIB_AWT_TRUE@libgcjx.la
|
||||
@XLIB_AWT_FALSE@cond_x_ltlibrary =
|
||||
@TESTSUBDIR_TRUE@SUBDIRS = \
|
||||
@TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
|
||||
@TESTSUBDIR_FALSE@SUBDIRS = \
|
||||
@TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
|
||||
@USE_LIBDIR_TRUE@toolexeclibdir = \
|
||||
@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
|
||||
@USE_LIBDIR_FALSE@toolexeclibdir = \
|
||||
@USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
|
||||
@USE_LIBDIR_FALSE@toolexecdir = \
|
||||
@USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
|
||||
@XLIB_AWT_TRUE@cond_x_ltlibrary = \
|
||||
@XLIB_AWT_TRUE@libgcjx.la
|
||||
@XLIB_AWT_FALSE@cond_x_ltlibrary = \
|
||||
|
||||
toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
|
||||
toolexeclib_DATA = libgcj.spec
|
||||
data_DATA = libgcj.jar
|
||||
|
||||
@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = @NEEDS_DATA_START_TRUE@libgcjdata.a
|
||||
@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = @NEEDS_DATA_START_TRUE@libgcjdata.c
|
||||
@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = \
|
||||
@NEEDS_DATA_START_TRUE@libgcjdata.a
|
||||
@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = \
|
||||
@NEEDS_DATA_START_TRUE@libgcjdata.c
|
||||
|
||||
@NATIVE_TRUE@bin_PROGRAMS = @NATIVE_TRUE@jv-convert gij
|
||||
@NATIVE_TRUE@bin_PROGRAMS = \
|
||||
@NATIVE_TRUE@jv-convert gij
|
||||
|
||||
bin_SCRIPTS = addr2name.awk
|
||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
|
||||
@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_FALSE@fastjar
|
||||
@CANADIAN_FALSE@ZIP = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
|
||||
@CANADIAN_TRUE@GCJH = @CANADIAN_TRUE@gcjh
|
||||
@CANADIAN_FALSE@GCJH = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
|
||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \
|
||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
|
||||
@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \
|
||||
@CANADIAN_TRUE@@NULL_TARGET_FALSE@fastjar
|
||||
@CANADIAN_FALSE@ZIP = \
|
||||
@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
|
||||
@CANADIAN_TRUE@GCJH = \
|
||||
@CANADIAN_TRUE@gcjh
|
||||
@CANADIAN_FALSE@GCJH = \
|
||||
@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
|
||||
|
||||
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8
|
||||
|
||||
@ -160,8 +175,10 @@ AM_CXXFLAGS = -fno-rtti -fvtable-thunks -fnon-call-exceptions \
|
||||
-fdollars-in-identifiers \
|
||||
@LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE
|
||||
|
||||
@USING_GCC_TRUE@AM_CFLAGS = @USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
|
||||
@USING_GCC_FALSE@AM_CFLAGS = @USING_GCC_FALSE@@LIBGCJ_CFLAGS@
|
||||
@USING_GCC_TRUE@AM_CFLAGS = \
|
||||
@USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
|
||||
@USING_GCC_FALSE@AM_CFLAGS = \
|
||||
@USING_GCC_FALSE@@LIBGCJ_CFLAGS@
|
||||
|
||||
JCFLAGS = -g
|
||||
JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
|
||||
@ -229,7 +246,8 @@ extra_headers = java/lang/Object.h java/lang/Class.h
|
||||
|
||||
NM = nm
|
||||
|
||||
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
|
||||
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
|
||||
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
|
||||
|
||||
CONVERT_DIR = gnu/gcj/convert
|
||||
|
||||
@ -1060,7 +1078,6 @@ java/net/natInetAddress.cc \
|
||||
java/net/natPlainDatagramSocketImpl.cc \
|
||||
java/net/natPlainSocketImpl.cc \
|
||||
java/text/natCollator.cc \
|
||||
java/util/natGregorianCalendar.cc \
|
||||
java/util/zip/natDeflater.cc \
|
||||
java/util/zip/natInflater.cc
|
||||
|
||||
@ -1212,8 +1229,7 @@ java/lang/reflect/natArray.lo java/lang/reflect/natConstructor.lo \
|
||||
java/lang/reflect/natField.lo java/lang/reflect/natMethod.lo \
|
||||
java/net/natInetAddress.lo java/net/natPlainDatagramSocketImpl.lo \
|
||||
java/net/natPlainSocketImpl.lo java/text/natCollator.lo \
|
||||
java/util/natGregorianCalendar.lo java/util/zip/natDeflater.lo \
|
||||
java/util/zip/natInflater.lo
|
||||
java/util/zip/natDeflater.lo java/util/zip/natInflater.lo
|
||||
libgcjx_la_OBJECTS = gnu/gcj/xlib/natClip.lo \
|
||||
gnu/gcj/xlib/natColormap.lo gnu/gcj/xlib/natDisplay.lo \
|
||||
gnu/gcj/xlib/natDrawable.lo gnu/gcj/xlib/natFont.lo \
|
||||
@ -1813,8 +1829,8 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/java/util/jar/JarEntry.P .deps/java/util/jar/JarException.P \
|
||||
.deps/java/util/jar/JarFile.P .deps/java/util/jar/JarInputStream.P \
|
||||
.deps/java/util/jar/JarOutputStream.P .deps/java/util/jar/Manifest.P \
|
||||
.deps/java/util/natGregorianCalendar.P .deps/java/util/zip/Adler32.P \
|
||||
.deps/java/util/zip/CRC32.P .deps/java/util/zip/CheckedInputStream.P \
|
||||
.deps/java/util/zip/Adler32.P .deps/java/util/zip/CRC32.P \
|
||||
.deps/java/util/zip/CheckedInputStream.P \
|
||||
.deps/java/util/zip/CheckedOutputStream.P \
|
||||
.deps/java/util/zip/Checksum.P \
|
||||
.deps/java/util/zip/DataFormatException.P \
|
||||
@ -2199,7 +2215,7 @@ distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|
37
libjava/gnu/java/locale/LocaleInformation.java
Normal file
37
libjava/gnu/java/locale/LocaleInformation.java
Normal file
@ -0,0 +1,37 @@
|
||||
/* LocaleInformation.java -- Default locale information
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package gnu.java.locale;
|
||||
|
||||
/**
|
||||
* This is the resource bundle for the default locale, which right now is
|
||||
* hardcoded to US English.
|
||||
*/
|
||||
public class LocaleInformation extends LocaleInformation_en
|
||||
{
|
||||
}
|
||||
|
220
libjava/gnu/java/locale/LocaleInformation_de.java
Normal file
220
libjava/gnu/java/locale/LocaleInformation_de.java
Normal file
@ -0,0 +1,220 @@
|
||||
/* LocaleInformation_de.java -- German locale data
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package gnu.java.locale;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
import java.util.Calendar;
|
||||
|
||||
/**
|
||||
* This class contains locale data for the German locale
|
||||
* @author Jochen Hoenicke
|
||||
*/
|
||||
public class LocaleInformation_de extends ListResourceBundle
|
||||
{
|
||||
|
||||
/*
|
||||
* This area is used for defining object values
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the set of collation rules used by java.text.RuleBasedCollator
|
||||
* to sort strings properly. See the documentation of that class for the
|
||||
* proper format.
|
||||
*/
|
||||
private static final String collation_rules =
|
||||
"-<0,1<2<3<4<5<6<7<8<9<A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<j,K" +
|
||||
"<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y,z<Z" +
|
||||
"&ae,\u00e4&Ae,\u00c4&oe,\u00f6&Oe,\u00d6&ue,\u00fc&Ue,\u00dc&ss,\u00df";
|
||||
|
||||
/**
|
||||
* This is the list of months, fully spelled out
|
||||
*/
|
||||
private static final String[] months = { "Januar", "Februar", "M\u00e4rz",
|
||||
"April", "Mai", "Juni", "Juli", "August", "September", "Oktober",
|
||||
"November", "Dezember", null };
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated month names
|
||||
*/
|
||||
private static final String[] shortMonths = {
|
||||
"Jan", "Feb", "M\u00e4r", "Apr", "Mai",
|
||||
"Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the list of weekdays, fully spelled out
|
||||
*/
|
||||
private static final String[] weekdays = {
|
||||
null, "Sonntag", "Montag", "Dienstag",
|
||||
"Mittwoch", "Donnerstag", "Freitag", "Samstag"
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated weekdays
|
||||
*/
|
||||
private static final String[] shortWeekdays = {
|
||||
null, "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the list of era identifiers
|
||||
*/
|
||||
private static final String[] eras = { "v. Chr.", "n. Chr." };
|
||||
|
||||
/**
|
||||
* This is the list of timezone strings. The JDK appears to include a
|
||||
* city name as the sixth element.
|
||||
*/
|
||||
private static final String[][] zoneStrings =
|
||||
{
|
||||
// European time zones. The city names are a little bit random.
|
||||
{ "WET", "Westeurop\u00e4ische Zeit", "WEZ", "Westeurop\u00e4ische Sommerzeit", "WESZ", "London" },
|
||||
{ "CET", "Mitteleurop\u00e4ische Zeit", "MEZ", "Mitteleurop\u00e4ische Sommerzeit", "MESZ", "Berlin" },
|
||||
{ "EET", "Osteurop\u00e4ische Zeit", "OEZ", "Mitteleurop\u00e4ische Sommerzeit", "OESZ", "Istanbul" },
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the DateFormat.SHORT date format
|
||||
*/
|
||||
private static final String shortDateFormat = "dd.MM.yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumDateFormat = "d. MMM yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.LONG format
|
||||
*/
|
||||
private static final String longDateFormat = "d. MMMM yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.FULL format
|
||||
*/
|
||||
private static final String fullDateFormat = "EEEE, d. MMMM yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultDateFormat = "dd.MM.yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.SHORT format
|
||||
*/
|
||||
private static final String shortTimeFormat = "H:mm";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumTimeFormat = "H:mm:ss";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.LONG format
|
||||
*/
|
||||
private static final String longTimeFormat = "H:mm:ss z";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.FULL format
|
||||
*/
|
||||
private static final String fullTimeFormat = "H:mm:ss 'Uhr' z";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultTimeFormat = "H:mm:ss";
|
||||
|
||||
/**
|
||||
* This is the currency symbol
|
||||
*/
|
||||
private static final String currencySymbol = "DM";
|
||||
|
||||
/**
|
||||
* This is the international currency symbol.
|
||||
*/
|
||||
private static final String intlCurrencySymbol = "DEM";
|
||||
|
||||
/**
|
||||
* This is the decimal point.
|
||||
*/
|
||||
private static final String decimalSeparator = ",";
|
||||
|
||||
/**
|
||||
* This is the decimal separator in monetary values.
|
||||
*/
|
||||
private static final String monetarySeparator = ",";
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This is the object array used to hold the keys and values
|
||||
* for this bundle
|
||||
*/
|
||||
|
||||
private static final Object[][] contents =
|
||||
{
|
||||
// For RuleBasedCollator
|
||||
{ "collation_rules", collation_rules },
|
||||
// For SimpleDateFormat/DateFormatSymbols
|
||||
{ "months", months },
|
||||
{ "shortMonths", shortMonths },
|
||||
{ "weekdays", weekdays },
|
||||
{ "shortWeekdays", shortWeekdays },
|
||||
{ "eras", eras },
|
||||
{ "zoneStrings", zoneStrings },
|
||||
{ "shortDateFormat", shortDateFormat },
|
||||
{ "mediumDateFormat", mediumDateFormat },
|
||||
{ "longDateFormat", longDateFormat },
|
||||
{ "fullDateFormat", fullDateFormat },
|
||||
{ "defaultDateFormat", defaultDateFormat },
|
||||
{ "shortTimeFormat", shortTimeFormat },
|
||||
{ "mediumTimeFormat", mediumTimeFormat },
|
||||
{ "longTimeFormat", longTimeFormat },
|
||||
{ "fullTimeFormat", fullTimeFormat },
|
||||
{ "defaultTimeFormat", defaultTimeFormat },
|
||||
// For DecimalFormat/DecimalFormatSymbols
|
||||
{ "currencySymbol", currencySymbol },
|
||||
{ "intlCurrencySymbol", intlCurrencySymbol },
|
||||
{ "decimalSeparator", decimalSeparator },
|
||||
{ "monetarySeparator", monetarySeparator },
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the object array of key, value pairs containing
|
||||
* the data for this bundle.
|
||||
*
|
||||
* @return The key, value information.
|
||||
*/
|
||||
public Object[][]
|
||||
getContents()
|
||||
{
|
||||
return(contents);
|
||||
}
|
||||
|
||||
} // class LocaleInformation_de
|
332
libjava/gnu/java/locale/LocaleInformation_en.java
Normal file
332
libjava/gnu/java/locale/LocaleInformation_en.java
Normal file
@ -0,0 +1,332 @@
|
||||
/* LocaleInformation_en.java -- US English locale data
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package gnu.java.locale;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* This class contains locale data for the US English locale
|
||||
*/
|
||||
|
||||
public class LocaleInformation_en extends ListResourceBundle
|
||||
{
|
||||
|
||||
/*
|
||||
* This area is used for defining object values
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the set of collation rules used by java.text.RuleBasedCollator
|
||||
* to sort strings properly. See the documentation of that class for the
|
||||
* proper format.
|
||||
*/
|
||||
private static final String collation_rules =
|
||||
"-<0,1<2<3<4<5<6<7<8<9A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<j,K" +
|
||||
"<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y,z<Z";
|
||||
|
||||
/*
|
||||
* For the followings lists, strings that are subsets of other break strigns
|
||||
* must be listed first. For example, if "\r" and "\r\n" are sequences,
|
||||
* the "\r" must be first or it will never be used.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the list of word separator characters used by
|
||||
* java.text.BreakIterator
|
||||
*/
|
||||
private static final String[] word_breaks = { " ", "\t", "\r\n", "\n" };
|
||||
|
||||
/**
|
||||
* This is the list of sentence break sequences used by
|
||||
* java.text.BreakIterator
|
||||
*/
|
||||
private static final String[] sentence_breaks = { ". " };
|
||||
|
||||
/**
|
||||
* This is the list of potential line break locations.
|
||||
*/
|
||||
private static final String[] line_breaks = { "\t", "-", "\r\n",
|
||||
"\n", ". ", ". ", ".", "? ", "? ", "?", "! ", "! ", "!", ", ", " " };
|
||||
|
||||
/**
|
||||
* This is the list of months, fully spelled out
|
||||
*/
|
||||
private static final String[] months = { "January", "February", "March",
|
||||
"April", "May", "June", "July", "August", "September", "October",
|
||||
"November", "December", null };
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated month names
|
||||
*/
|
||||
private static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May",
|
||||
"Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
|
||||
|
||||
/**
|
||||
* This is the list of weekdays, fully spelled out
|
||||
*/
|
||||
private static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday",
|
||||
"Wednesday", "Thursday", "Friday", "Saturday" };
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated weekdays
|
||||
*/
|
||||
private static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed",
|
||||
"Thu", "Fri", "Sat" };
|
||||
|
||||
/**
|
||||
* This is the list of AM/PM strings
|
||||
*/
|
||||
private static final String[] ampms = { "AM", "PM" };
|
||||
|
||||
/**
|
||||
* This is the list of era identifiers
|
||||
*/
|
||||
private static final String[] eras = { "BC", "AD" };
|
||||
|
||||
/**
|
||||
* This is the list of timezone strings. The JDK appears to include a
|
||||
* city name as the sixth element.
|
||||
*/
|
||||
private static final String[][] zoneStrings =
|
||||
{
|
||||
{ "EST6EDT", "Eastern Standard Time", "EST", "Eastern Daylight Time", "EDT",
|
||||
"New York" },
|
||||
{ "EST6", "Eastern Standard Time", "EST", "Eastern Standard Time", "EST",
|
||||
"Indianapolis" },
|
||||
{ "CST6CDT", "Central Standard Time", "CST", "Central Daylight Time", "CDT",
|
||||
"Chicago" },
|
||||
{ "MST6MDT", "Mountain Standard Time", "MST", "Mountain Daylight Time",
|
||||
"MDT", "Denver" },
|
||||
{ "MST6", "Mountain Standard Time", "MST", "Mountain Standard Time", "MST",
|
||||
"Phoenix" },
|
||||
{ "PST6PDT", "Pacific Standard Time", "PDT", "Pacific Daylight Time", "PDT",
|
||||
"San Francisco" },
|
||||
{ "AST6ADT", "Alaska Standard Time", "AST", "Alaska Daylight Time", "ADT",
|
||||
"Anchorage" },
|
||||
{ "HST6HDT", "Hawaii Standard Time", "HST", "Hawaii Daylight Time", "HDT",
|
||||
"Honolulu" },
|
||||
// European time zones. The city names are a little bit random.
|
||||
{ "WET", "Western European Time", "WET", "Western European Savings Time", "WEST", "London" },
|
||||
{ "CET", "Central European Time", "CET", "Central European Savings Time", "CEST", "Berlin" },
|
||||
{ "EET", "Eastern European Time", "EET", "Eastern European Savings Time", "EEST", "Istanbul" },
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the list of pattern characters for formatting dates
|
||||
*/
|
||||
private static final String localPatternChars = "GyMdkHmsSEDFwWahKz"; // Not a mistake!
|
||||
|
||||
/**
|
||||
* This is the DateFormat.SHORT date format
|
||||
*/
|
||||
private static final String shortDateFormat = "M/d/yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumDateFormat = "dd-MMM-yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.LONG format
|
||||
*/
|
||||
private static final String longDateFormat = "MMMM d, yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.FULL format
|
||||
*/
|
||||
private static final String fullDateFormat = "EEEE, MMMM d, yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultDateFormat = "dd-MMM-yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.SHORT format
|
||||
*/
|
||||
private static final String shortTimeFormat = "h:mm a";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumTimeFormat = "h:mm:ss a";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.LONG format
|
||||
*/
|
||||
private static final String longTimeFormat = "h:mm:ss a z";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.FULL format
|
||||
*/
|
||||
private static final String fullTimeFormat = "h:mm:ss 'o''clock' a z";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultTimeFormat = "h:mm:ss a";
|
||||
|
||||
/**
|
||||
* This is the currency symbol
|
||||
*/
|
||||
private static final String currencySymbol = "$";
|
||||
|
||||
/**
|
||||
* This is the international currency symbol.
|
||||
*/
|
||||
private static final String intlCurrencySymbol = "US$";
|
||||
|
||||
/**
|
||||
* This is the decimal point.
|
||||
*/
|
||||
private static final String decimalSeparator = ".";
|
||||
|
||||
/**
|
||||
* This is the exponential symbol
|
||||
*/
|
||||
private static final String exponential = "E";
|
||||
|
||||
/**
|
||||
* This is the char used for digits in format strings
|
||||
*/
|
||||
private static final String digit = "#";
|
||||
|
||||
/**
|
||||
* This is the grouping separator symbols
|
||||
*/
|
||||
private static final String groupingSeparator = ",";
|
||||
|
||||
/**
|
||||
* This is the symbols for infinity
|
||||
*/
|
||||
private static final String infinity = "\u221e";
|
||||
|
||||
/**
|
||||
* This is the symbol for the not a number value
|
||||
*/
|
||||
private static final String NaN = "\ufffd";
|
||||
|
||||
/**
|
||||
* This is the minus sign symbol.
|
||||
*/
|
||||
private static final String minusSign = "-";
|
||||
|
||||
/**
|
||||
* This is the decimal separator in monetary values.
|
||||
*/
|
||||
private static final String monetarySeparator = ".";
|
||||
|
||||
/**
|
||||
* This is the separator between positive and negative subpatterns.
|
||||
*/
|
||||
private static final String patternSeparator = ";";
|
||||
|
||||
/**
|
||||
* This is the percent sign
|
||||
*/
|
||||
private static final String percent = "%";
|
||||
|
||||
/**
|
||||
* This is the per mille sign
|
||||
*/
|
||||
private static final String perMill = "\u2030";
|
||||
|
||||
/**
|
||||
* This is the character for zero.
|
||||
*/
|
||||
private static final String zeroDigit = "0";
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This is the object array used to hold the keys and values
|
||||
* for this bundle
|
||||
*/
|
||||
|
||||
private static final Object[][] contents =
|
||||
{
|
||||
// For RuleBasedCollator
|
||||
{ "collation_rules", collation_rules },
|
||||
// For BreakIterator
|
||||
{ "word_breaks", word_breaks },
|
||||
{ "sentence_breaks", sentence_breaks },
|
||||
{ "line_breaks", line_breaks },
|
||||
// For SimpleDateFormat/DateFormatSymbols
|
||||
{ "months", months },
|
||||
{ "shortMonths", shortMonths },
|
||||
{ "weekdays", weekdays },
|
||||
{ "shortWeekdays", shortWeekdays },
|
||||
{ "ampms", ampms },
|
||||
{ "eras", eras },
|
||||
{ "zoneStrings", zoneStrings },
|
||||
{ "localPatternChars", localPatternChars },
|
||||
{ "shortDateFormat", shortDateFormat },
|
||||
{ "mediumDateFormat", mediumDateFormat },
|
||||
{ "longDateFormat", longDateFormat },
|
||||
{ "fullDateFormat", fullDateFormat },
|
||||
{ "defaultDateFormat", defaultDateFormat },
|
||||
{ "shortTimeFormat", shortTimeFormat },
|
||||
{ "mediumTimeFormat", mediumTimeFormat },
|
||||
{ "longTimeFormat", longTimeFormat },
|
||||
{ "fullTimeFormat", fullTimeFormat },
|
||||
{ "defaultTimeFormat", defaultTimeFormat },
|
||||
// For DecimalFormat/DecimalFormatSymbols
|
||||
{ "currencySymbol", currencySymbol },
|
||||
{ "intlCurrencySymbol", intlCurrencySymbol },
|
||||
{ "decimalSeparator", decimalSeparator },
|
||||
{ "digit", digit },
|
||||
{ "exponential", exponential },
|
||||
{ "groupingSeparator", groupingSeparator },
|
||||
{ "infinity", infinity },
|
||||
{ "NaN", NaN },
|
||||
{ "minusSign", minusSign },
|
||||
{ "monetarySeparator", monetarySeparator },
|
||||
{ "patternSeparator", patternSeparator },
|
||||
{ "percent", percent },
|
||||
{ "perMill", perMill },
|
||||
{ "zeroDigit", zeroDigit },
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the object array of key, value pairs containing
|
||||
* the data for this bundle.
|
||||
*
|
||||
* @return The key, value information.
|
||||
*/
|
||||
public Object[][]
|
||||
getContents()
|
||||
{
|
||||
return(contents);
|
||||
}
|
||||
|
||||
} // class LocaleInformation_en
|
||||
|
338
libjava/gnu/java/locale/LocaleInformation_nl.java
Normal file
338
libjava/gnu/java/locale/LocaleInformation_nl.java
Normal file
@ -0,0 +1,338 @@
|
||||
/* LocaleInformation_nl.java -- Dutch locale data
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package gnu.java.locale;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* This class contains locale data for the Dutch locale
|
||||
*/
|
||||
|
||||
public class LocaleInformation_nl extends ListResourceBundle
|
||||
{
|
||||
|
||||
/*
|
||||
* This area is used for defining object values
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the set of collation rules used by java.text.RuleBasedCollator
|
||||
* to sort strings properly. See the documentation of that class for the
|
||||
* proper format.
|
||||
* <p>
|
||||
* This is the same rule as used in the English locale.
|
||||
*/
|
||||
private static final String collation_rules =
|
||||
"-<0,1<2<3<4<5<6<7<8<9A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<j,K" +
|
||||
"<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y,z<Z";
|
||||
|
||||
/*
|
||||
* For the followings lists, strings that are subsets of other break strings
|
||||
* must be listed first. For example, if "\r" and "\r\n" are sequences,
|
||||
* the "\r" must be first or it will never be used.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the list of word separator characters used by
|
||||
* java.text.BreakIterator
|
||||
* <p>
|
||||
* This is the same list as used in the English local
|
||||
*/
|
||||
private static final String[] word_breaks = { " ", "\t", "\r\n", "\n" };
|
||||
|
||||
/**
|
||||
* This is the list of sentence break sequences used by
|
||||
* java.text.BreakIterator
|
||||
* <p>
|
||||
* This is the same list as used in the English local
|
||||
*/
|
||||
private static final String[] sentence_breaks = { ". " };
|
||||
|
||||
/**
|
||||
* This is the list of potential line break locations.
|
||||
* <p>
|
||||
* This is the same list as used in the English local
|
||||
*/
|
||||
private static final String[] line_breaks = { "\t", "-", "\r\n",
|
||||
"\n", ". ", ". ", ".", "? ", "? ", "?", "! ", "! ", "!", ", ", " " };
|
||||
|
||||
/**
|
||||
* This is the list of months, fully spelled out
|
||||
*/
|
||||
private static final String[] months = { "januari", "februari", "maart",
|
||||
"april", "mei", "juni", "juli", "augustus", "september", "october",
|
||||
"november", "december", null };
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated month names
|
||||
*/
|
||||
private static final String[] shortMonths = { "jan", "feb", "mrt", "apr", "mei",
|
||||
"jun", "jul", "aug", "sep", "oct", "nov", "dec", null };
|
||||
|
||||
/**
|
||||
* This is the list of weekdays, fully spelled out
|
||||
*/
|
||||
private static final String[] weekdays = { null, "zondag", "maandag", "dinsdag",
|
||||
"woensdag", "donderdag", "vrijdag", "zaterdag" };
|
||||
|
||||
/**
|
||||
* This is the list of abbreviated weekdays
|
||||
*/
|
||||
private static final String[] shortWeekdays = { null, "zo", "ma", "di", "wo",
|
||||
"do", "vr", "za" };
|
||||
|
||||
/**
|
||||
* This is the list of AM/PM strings
|
||||
* <p>
|
||||
* Is there a real equivalent in Dutch? "Voormiddag"/"Namiddag"?
|
||||
* Just using the Latin names for now.
|
||||
*/
|
||||
private static final String[] ampms = { "AM", "PM" };
|
||||
|
||||
/**
|
||||
* This is the list of era identifiers
|
||||
* <p>
|
||||
* Is there a real equivalent in Dutch? "voor Christus"/"na Christus"?
|
||||
* Just use the Latin/English names for now.
|
||||
*/
|
||||
private static final String[] eras = { "BC", "AD" };
|
||||
|
||||
/**
|
||||
* This is the list of timezone strings. The JDK appears to include a
|
||||
* city name as the sixth element.
|
||||
* XXX - TODO - FIXME - Which timezones should be included here and how are
|
||||
* they called?
|
||||
*/
|
||||
private static final String[][] zoneStrings =
|
||||
{
|
||||
// European time zones. The city names are a little bit random.
|
||||
{ "WET", "West Europese Tijd", "WET", "West Europese Zomertijd", "WEST", "London" },
|
||||
{ "CET", "Centraal Europese Tijd", "CET", "Centraal Europese Zomertijd", "CEST", "Amsterdam" },
|
||||
{ "EET", "Oost Europese Tijd", "EET", "Oost Europese Zomertijd", "EEST", "Istanbul" },
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the list of pattern characters for formatting dates
|
||||
* <p>
|
||||
* This is the same as the English locale uses: era (G), year (y), month (M),
|
||||
* month (d), hour from 1-12 (h), hour 0-23 (H), minute (m), second (s),
|
||||
* millisecond (S), date of week (E), date of year (D),
|
||||
* day of week in month (F), week in year (w), week in month (W), am/pm (a),
|
||||
* hour from 1-24 (k), hour from 0-11 (K), time zone (z).
|
||||
* Why would you use others?
|
||||
*/
|
||||
private static final String localPatternChars = "GyMdhHmsSEDFwWakKz"; // Not a mistake!
|
||||
|
||||
/**
|
||||
* This is the DateFormat.SHORT date format
|
||||
*/
|
||||
private static final String shortDateFormat = "dd-MM-yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumDateFormat = "dd-MMM-yy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.LONG format
|
||||
*/
|
||||
private static final String longDateFormat = "dd MMMM yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.FULL format
|
||||
*/
|
||||
private static final String fullDateFormat = "EEEE dd MMMM yyyy";
|
||||
|
||||
/**
|
||||
* This is the DateFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultDateFormat = mediumDateFormat;
|
||||
|
||||
/**
|
||||
* This is the TimeFormat.SHORT format
|
||||
*/
|
||||
private static final String shortTimeFormat = "HH:mm";
|
||||
|
||||
/**
|
||||
* This is the TimeFormat.MEDIUM format
|
||||
*/
|
||||
private static final String mediumTimeFormat = "HH:mm:ss";
|
||||
|
||||
/**
|
||||
* This is the TimeFormat.LONG format
|
||||
*/
|
||||
private static final String longTimeFormat = "HH:mm:ss";
|
||||
|
||||
/**
|
||||
* This is the TimeFormat.FULL format
|
||||
*/
|
||||
private static final String fullTimeFormat = "HH:mm:ss z";
|
||||
|
||||
/**
|
||||
* This is the TimeFormat.DEFAULT format
|
||||
*/
|
||||
private static final String defaultTimeFormat = shortTimeFormat;
|
||||
|
||||
/**
|
||||
* This is the currency symbol
|
||||
*/
|
||||
private static final String currencySymbol = "fl";
|
||||
|
||||
/**
|
||||
* This is the international currency symbol.
|
||||
*/
|
||||
private static final String intlCurrencySymbol = "NLG";
|
||||
|
||||
/**
|
||||
* This is the decimal point.
|
||||
*/
|
||||
private static final String decimalSeparator = ",";
|
||||
|
||||
/**
|
||||
* This is the exponential symbol
|
||||
*/
|
||||
private static final String exponential = "E";
|
||||
|
||||
/**
|
||||
* This is the char used for digits in format strings
|
||||
*/
|
||||
private static final String digit = "#";
|
||||
|
||||
/**
|
||||
* This is the grouping separator symbols
|
||||
*/
|
||||
private static final String groupingSeparator = ",";
|
||||
|
||||
/**
|
||||
* This is the symbols for infinity
|
||||
*/
|
||||
private static final String infinity = "\u221e";
|
||||
|
||||
/**
|
||||
* This is the symbol for the not a number value
|
||||
*/
|
||||
private static final String NaN = "\ufffd";
|
||||
|
||||
/**
|
||||
* This is the minus sign symbol.
|
||||
*/
|
||||
private static final String minusSign = "-";
|
||||
|
||||
/**
|
||||
* This is the decimal separator in monetary values.
|
||||
*/
|
||||
private static final String monetarySeparator = ",";
|
||||
|
||||
/**
|
||||
* This is the separator between positive and negative subpatterns.
|
||||
*/
|
||||
private static final String patternSeparator = ";";
|
||||
|
||||
/**
|
||||
* This is the percent sign
|
||||
*/
|
||||
private static final String percent = "%";
|
||||
|
||||
/**
|
||||
* This is the per mille sign
|
||||
*/
|
||||
private static final String perMill = "\u2030";
|
||||
|
||||
/**
|
||||
* This is the character for zero.
|
||||
*/
|
||||
private static final String zeroDigit = "0";
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This is the object array used to hold the keys and values
|
||||
* for this bundle
|
||||
*/
|
||||
|
||||
private static final Object[][] contents =
|
||||
{
|
||||
// For RuleBasedCollator
|
||||
{ "collation_rules", collation_rules },
|
||||
// For BreakIterator
|
||||
{ "word_breaks", word_breaks },
|
||||
{ "sentence_breaks", sentence_breaks },
|
||||
{ "line_breaks", line_breaks },
|
||||
// For SimpleDateFormat/DateFormatSymbols
|
||||
{ "months", months },
|
||||
{ "shortMonths", shortMonths },
|
||||
{ "weekdays", weekdays },
|
||||
{ "shortWeekdays", shortWeekdays },
|
||||
{ "ampms", ampms },
|
||||
{ "eras", eras },
|
||||
{ "zoneStrings", zoneStrings },
|
||||
{ "localPatternChars", localPatternChars },
|
||||
{ "shortDateFormat", shortDateFormat },
|
||||
{ "mediumDateFormat", mediumDateFormat },
|
||||
{ "longDateFormat", longDateFormat },
|
||||
{ "fullDateFormat", fullDateFormat },
|
||||
{ "defaultDateFormat", defaultDateFormat },
|
||||
{ "shortTimeFormat", shortTimeFormat },
|
||||
{ "mediumTimeFormat", mediumTimeFormat },
|
||||
{ "longTimeFormat", longTimeFormat },
|
||||
{ "fullTimeFormat", fullTimeFormat },
|
||||
{ "defaultTimeFormat", defaultTimeFormat },
|
||||
// For DecimalFormat/DecimalFormatSymbols
|
||||
{ "currencySymbol", currencySymbol },
|
||||
{ "intlCurrencySymbol", intlCurrencySymbol },
|
||||
{ "decimalSeparator", decimalSeparator },
|
||||
{ "digit", digit },
|
||||
{ "exponential", exponential },
|
||||
{ "groupingSeparator", groupingSeparator },
|
||||
{ "infinity", infinity },
|
||||
{ "NaN", NaN },
|
||||
{ "minusSign", minusSign },
|
||||
{ "monetarySeparator", monetarySeparator },
|
||||
{ "patternSeparator", patternSeparator },
|
||||
{ "percent", percent },
|
||||
{ "perMill", perMill },
|
||||
{ "zeroDigit", zeroDigit },
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the object array of key, value pairs containing
|
||||
* the data for this bundle.
|
||||
*
|
||||
* @return The key, value information.
|
||||
*/
|
||||
public Object[][]
|
||||
getContents()
|
||||
{
|
||||
return(contents);
|
||||
}
|
||||
|
||||
} // class LocaleInformation_nl
|
@ -62,8 +62,7 @@ public class SimpleDateFormat extends DateFormat
|
||||
|
||||
private transient Vector tokens;
|
||||
private DateFormatSymbols formatData; // formatData
|
||||
private Date defaultCenturyStart =
|
||||
new Date(System.currentTimeMillis() - (80*365*24*60*60*1000));
|
||||
private Date defaultCenturyStart = computeCenturyStart ();
|
||||
private String pattern;
|
||||
private int serialVersionOnStream = 1; // 0 indicates JDK1.1.3 or earlier
|
||||
private static final long serialVersionUID = 4774881970558875024L;
|
||||
@ -79,8 +78,7 @@ public class SimpleDateFormat extends DateFormat
|
||||
stream.defaultReadObject();
|
||||
if (serialVersionOnStream < 1)
|
||||
{
|
||||
defaultCenturyStart =
|
||||
new Date(System.currentTimeMillis() - (80*365*24*60*60*1000));
|
||||
defaultCenturyStart = computeCenturyStart ();
|
||||
serialVersionOnStream = 1;
|
||||
}
|
||||
|
||||
@ -161,11 +159,14 @@ public class SimpleDateFormat extends DateFormat
|
||||
super();
|
||||
Locale locale = Locale.getDefault();
|
||||
calendar = new GregorianCalendar(locale);
|
||||
calendar.clear ();
|
||||
tokens = new Vector();
|
||||
formatData = new DateFormatSymbols(locale);
|
||||
pattern = formatData.dateFormats[DEFAULT]+' '+formatData.timeFormats[DEFAULT];
|
||||
pattern = (formatData.dateFormats[DEFAULT] + ' '
|
||||
+ formatData.timeFormats[DEFAULT]);
|
||||
compileFormat(pattern);
|
||||
numberFormat = NumberFormat.getInstance(locale);
|
||||
numberFormat.setGroupingUsed (false);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -185,20 +186,24 @@ public class SimpleDateFormat extends DateFormat
|
||||
{
|
||||
super();
|
||||
calendar = new GregorianCalendar(locale);
|
||||
calendar.clear ();
|
||||
tokens = new Vector();
|
||||
formatData = new DateFormatSymbols(locale);
|
||||
compileFormat(pattern);
|
||||
this.pattern = pattern;
|
||||
numberFormat = NumberFormat.getInstance(locale);
|
||||
numberFormat.setGroupingUsed (false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a date formatter using the specified pattern. The
|
||||
* specified DateFormatSymbols will be used when formatting.
|
||||
*/
|
||||
public SimpleDateFormat(String pattern, DateFormatSymbols formatData) {
|
||||
public SimpleDateFormat(String pattern, DateFormatSymbols formatData)
|
||||
{
|
||||
super();
|
||||
calendar = new GregorianCalendar();
|
||||
calendar.clear ();
|
||||
// FIXME: XXX: Is it really necessary to set the timezone?
|
||||
// The Calendar constructor is supposed to take care of this.
|
||||
calendar.setTimeZone(TimeZone.getDefault());
|
||||
@ -207,6 +212,7 @@ public class SimpleDateFormat extends DateFormat
|
||||
compileFormat(pattern);
|
||||
this.pattern = pattern;
|
||||
numberFormat = NumberFormat.getInstance();
|
||||
numberFormat.setGroupingUsed (false);
|
||||
}
|
||||
|
||||
// What is the difference between localized and unlocalized? The
|
||||
@ -377,7 +383,8 @@ public class SimpleDateFormat extends DateFormat
|
||||
* appending to the specified StringBuffer. The input StringBuffer
|
||||
* is returned as output for convenience.
|
||||
*/
|
||||
public StringBuffer format(Date date, StringBuffer buffer, FieldPosition pos) {
|
||||
public StringBuffer format(Date date, StringBuffer buffer, FieldPosition pos)
|
||||
{
|
||||
String temp;
|
||||
Calendar theCalendar = (Calendar) calendar.clone();
|
||||
theCalendar.setTime(date);
|
||||
@ -507,7 +514,10 @@ public class SimpleDateFormat extends DateFormat
|
||||
int fmt_index = 0;
|
||||
int fmt_max = pattern.length();
|
||||
|
||||
calendar.clear();
|
||||
// We copy the Calendar because if we don't we will modify it and
|
||||
// then this.equals() will no longer have the desired result.
|
||||
Calendar theCalendar = (Calendar) calendar.clone ();
|
||||
theCalendar.clear();
|
||||
int quote_start = -1;
|
||||
for (; fmt_index < fmt_max; ++fmt_index)
|
||||
{
|
||||
@ -553,7 +563,6 @@ public class SimpleDateFormat extends DateFormat
|
||||
boolean is_numeric = true;
|
||||
String[] match = null;
|
||||
int offset = 0;
|
||||
int zone_number = 0;
|
||||
switch (ch)
|
||||
{
|
||||
case 'd':
|
||||
@ -626,6 +635,7 @@ public class SimpleDateFormat extends DateFormat
|
||||
// We need a special case for the timezone, because it
|
||||
// uses a different data structure than the other cases.
|
||||
is_numeric = false;
|
||||
// We don't actually use this; see below.
|
||||
calendar_field = Calendar.DST_OFFSET;
|
||||
String[][] zoneStrings = formatData.getZoneStrings();
|
||||
int zoneCount = zoneStrings.length;
|
||||
@ -642,11 +652,11 @@ public class SimpleDateFormat extends DateFormat
|
||||
}
|
||||
if (k != strings.length)
|
||||
{
|
||||
if (k > 2)
|
||||
; // FIXME: dst.
|
||||
zone_number = 0; // FIXME: dst.
|
||||
// FIXME: raw offset to SimpleTimeZone const.
|
||||
calendar.setTimeZone(new SimpleTimeZone (1, strings[0]));
|
||||
found_zone = true;
|
||||
TimeZone tz = TimeZone.getTimeZone (strings[0]);
|
||||
theCalendar.setTimeZone (tz);
|
||||
theCalendar.clear (Calendar.DST_OFFSET);
|
||||
theCalendar.clear (Calendar.ZONE_OFFSET);
|
||||
pos.setIndex(index + strings[k].length());
|
||||
break;
|
||||
}
|
||||
@ -690,15 +700,16 @@ public class SimpleDateFormat extends DateFormat
|
||||
value = i;
|
||||
}
|
||||
else
|
||||
value = zone_number;
|
||||
value = 0;
|
||||
|
||||
// Assign the value and move on.
|
||||
calendar.set(calendar_field, value);
|
||||
if (calendar_field != Calendar.DST_OFFSET)
|
||||
theCalendar.set(calendar_field, value);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return calendar.getTime();
|
||||
return theCalendar.getTime();
|
||||
}
|
||||
catch (IllegalArgumentException x)
|
||||
{
|
||||
@ -706,4 +717,21 @@ public class SimpleDateFormat extends DateFormat
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Compute the start of the current century as defined by
|
||||
// get2DigitYearStart.
|
||||
private Date computeCenturyStart ()
|
||||
{
|
||||
// Compute the current year. We assume a year has 365 days. Then
|
||||
// compute 80 years ago, and finally reconstruct the number of
|
||||
// milliseconds. We do this computation in this strange way
|
||||
// because it lets us easily truncate the milliseconds, seconds,
|
||||
// etc, which don't matter and which confuse
|
||||
// SimpleDateFormat.equals().
|
||||
long now = System.currentTimeMillis ();
|
||||
now /= 365L * 24L * 60L * 60L * 1000L;
|
||||
now -= 80;
|
||||
now *= 365L * 24L * 60L * 60L * 1000L;
|
||||
return new Date (now);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* java.util.Calendar
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@ -54,7 +54,7 @@ import java.io.*;
|
||||
*
|
||||
* When computing the date from time fields, it may happen, that there
|
||||
* are either two few fields set, or some fields are inconsistent. This
|
||||
* cases will handled in a calender specific way. Missing fields are
|
||||
* cases will handled in a calendar specific way. Missing fields are
|
||||
* replaced by the fields of the epoch: 1970 January 1 00:00. <br>
|
||||
*
|
||||
* To understand, how the day of year is computed out of the fields
|
||||
@ -356,7 +356,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
private static final String bundleName = "gnu.java.locale.Calendar";
|
||||
|
||||
/**
|
||||
* Constructs a new Calender with the default time zone and the default
|
||||
* Constructs a new Calendar with the default time zone and the default
|
||||
* locale.
|
||||
*/
|
||||
protected Calendar()
|
||||
@ -365,7 +365,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new Calender with the given time zone and the given
|
||||
* Constructs a new Calendar with the given time zone and the given
|
||||
* locale.
|
||||
* @param zone a time zone.
|
||||
* @param locale a locale.
|
||||
@ -483,7 +483,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets this Calender's time to the given Date. All time fields
|
||||
* Sets this Calendar's time to the given Date. All time fields
|
||||
* are invalidated by this method.
|
||||
*/
|
||||
public final void setTime(Date date)
|
||||
@ -503,7 +503,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets this Calender's time to the given Time. All time fields
|
||||
* Sets this Calendar's time to the given Time. All time fields
|
||||
* are invalidated by this method.
|
||||
* @param time the time in milliseconds since the epoch
|
||||
*/
|
||||
@ -522,6 +522,9 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
*/
|
||||
public final int get(int field)
|
||||
{
|
||||
// If the requested field is invalid, force all fields to be recomputed.
|
||||
if (!isSet[field])
|
||||
areFieldsSet = false;
|
||||
complete();
|
||||
return fields[field];
|
||||
}
|
||||
@ -551,6 +554,29 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
isTimeSet = false;
|
||||
fields[field] = value;
|
||||
isSet[field] = true;
|
||||
switch (field)
|
||||
{
|
||||
case YEAR:
|
||||
case MONTH:
|
||||
case DATE:
|
||||
isSet[WEEK_OF_YEAR] = false;
|
||||
isSet[DAY_OF_YEAR] = false;
|
||||
isSet[WEEK_OF_MONTH] = false;
|
||||
isSet[DAY_OF_WEEK] = false;
|
||||
isSet[DAY_OF_WEEK_IN_MONTH] = false;
|
||||
break;
|
||||
case AM_PM:
|
||||
isSet[HOUR_OF_DAY] = false;
|
||||
break;
|
||||
case HOUR_OF_DAY:
|
||||
isSet[AM_PM] = false;
|
||||
isSet[HOUR] = false;
|
||||
break;
|
||||
case HOUR:
|
||||
isSet[AM_PM] = false;
|
||||
isSet[HOUR_OF_DAY] = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -568,6 +594,11 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
fields[MONTH] = month;
|
||||
fields[DATE] = date;
|
||||
isSet[YEAR] = isSet[MONTH] = isSet[DATE] = true;
|
||||
isSet[WEEK_OF_YEAR] = false;
|
||||
isSet[DAY_OF_YEAR] = false;
|
||||
isSet[WEEK_OF_MONTH] = false;
|
||||
isSet[DAY_OF_WEEK] = false;
|
||||
isSet[DAY_OF_WEEK_IN_MONTH] = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -584,6 +615,8 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
fields[HOUR_OF_DAY] = hour;
|
||||
fields[MINUTE] = minute;
|
||||
isSet[HOUR_OF_DAY] = isSet[MINUTE] = true;
|
||||
isSet[AM_PM] = false;
|
||||
isSet[HOUR] = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,7 +644,10 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
isTimeSet = false;
|
||||
areFieldsSet = false;
|
||||
for (int i = 0; i < FIELD_COUNT; i++)
|
||||
{
|
||||
isSet[i] = false;
|
||||
fields[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -623,6 +659,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
isTimeSet = false;
|
||||
areFieldsSet = false;
|
||||
isSet[field] = false;
|
||||
fields[field] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -647,7 +684,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the given calender with this.
|
||||
* Compares the given calendar with this.
|
||||
* @param o the object to that we should compare.
|
||||
* @return true, if the given object is a calendar, that represents
|
||||
* the same time (but doesn't neccessary have the same fields).
|
||||
@ -670,10 +707,10 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the given calender with this.
|
||||
* Compares the given calendar with this.
|
||||
* @param o the object to that we should compare.
|
||||
* @return true, if the given object is a calendar, and this calendar
|
||||
* represents a smaller time than the calender o.
|
||||
* represents a smaller time than the calendar o.
|
||||
* @exception ClassCastException if o is not an calendar.
|
||||
* @since JDK1.2 you don't need to override this method
|
||||
*/
|
||||
@ -683,10 +720,10 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the given calender with this.
|
||||
* Compares the given calendar with this.
|
||||
* @param o the object to that we should compare.
|
||||
* @return true, if the given object is a calendar, and this calendar
|
||||
* represents a bigger time than the calender o.
|
||||
* represents a bigger time than the calendar o.
|
||||
* @exception ClassCastException if o is not an calendar.
|
||||
* @since JDK1.2 you don't need to override this method
|
||||
*/
|
||||
@ -866,7 +903,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
* @since jdk1.2
|
||||
*/
|
||||
// FIXME: XXX: Not abstract in JDK 1.2.
|
||||
// public abstract int getActualMinimum(int field);
|
||||
public abstract int getActualMinimum(int field);
|
||||
|
||||
/**
|
||||
* Gets the actual maximum value that is allowed for the specified field.
|
||||
@ -876,7 +913,7 @@ public abstract class Calendar implements Serializable, Cloneable
|
||||
* @since jdk1.2
|
||||
*/
|
||||
// FIXME: XXX: Not abstract in JDK 1.2.
|
||||
// public abstract int getActualMaximum(int field);
|
||||
public abstract int getActualMaximum(int field);
|
||||
|
||||
/**
|
||||
* Return a clone of this object.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,159 +0,0 @@
|
||||
/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#ifdef ECOS
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#include <gcj/cni.h>
|
||||
#include <java/util/TimeZone.h>
|
||||
#include <java/util/GregorianCalendar.h>
|
||||
#include <java/lang/IllegalArgumentException.h>
|
||||
#include <time.h>
|
||||
|
||||
void
|
||||
java::util::GregorianCalendar::computeTime ()
|
||||
{
|
||||
struct tm tim;
|
||||
tim.tm_sec = elements(fields)[SECOND];
|
||||
tim.tm_min = elements(fields)[MINUTE];
|
||||
tim.tm_hour = elements(fields)[HOUR_OF_DAY];
|
||||
tim.tm_mday = elements(fields)[DATE];
|
||||
tim.tm_mon = elements(fields)[MONTH];
|
||||
tim.tm_year = elements(fields)[YEAR] - 1900;
|
||||
tim.tm_isdst = 0;
|
||||
#ifndef ECOS
|
||||
// FIXME: None of the standard C library access to the ECOS calendar
|
||||
// is yet available.
|
||||
time_t t = mktime (&tim);
|
||||
|
||||
if (!isLenient ())
|
||||
{
|
||||
// mktime will correct for any time leniencies (e.g. 31-Apr becomes
|
||||
// 1-May).
|
||||
// Daylight savings time is a special case since times in hour 23
|
||||
// will compute to hour 0 of the next day.
|
||||
if (tim.tm_isdst == 0 || elements(fields)[HOUR_OF_DAY] != 23)
|
||||
{
|
||||
if (tim.tm_sec != elements(fields)[SECOND] ||
|
||||
tim.tm_min != elements(fields)[MINUTE] ||
|
||||
tim.tm_hour != elements(fields)[HOUR_OF_DAY] +
|
||||
(tim.tm_isdst > 0 ? 1 : 0) ||
|
||||
tim.tm_mday != elements(fields)[DATE] ||
|
||||
tim.tm_mon != elements(fields)[MONTH] ||
|
||||
tim.tm_year != elements(fields)[YEAR] - 1900)
|
||||
throw new java::lang::IllegalArgumentException ();
|
||||
}
|
||||
else
|
||||
{
|
||||
// The easiest thing to do is to temporarily shift the clock
|
||||
// back from the 23th hour so mktime doesn't cause the extra
|
||||
// hour for DST to roll the date to the next day.
|
||||
struct tm tmp_tim;
|
||||
tmp_tim.tm_sec = elements(fields)[SECOND];
|
||||
tmp_tim.tm_min = elements(fields)[MINUTE];
|
||||
tmp_tim.tm_hour = elements(fields)[HOUR_OF_DAY] - 1;
|
||||
tmp_tim.tm_mday = elements(fields)[DATE];
|
||||
tmp_tim.tm_mon = elements(fields)[MONTH];
|
||||
tmp_tim.tm_year = elements(fields)[YEAR] - 1900;
|
||||
tmp_tim.tm_isdst = 0;
|
||||
mktime (&tmp_tim);
|
||||
if (tmp_tim.tm_sec != elements(fields)[SECOND] ||
|
||||
tmp_tim.tm_min != elements(fields)[MINUTE] ||
|
||||
tmp_tim.tm_hour != elements(fields)[HOUR_OF_DAY] ||
|
||||
tmp_tim.tm_mday != elements(fields)[DATE] ||
|
||||
tmp_tim.tm_mon != elements(fields)[MONTH] ||
|
||||
tmp_tim.tm_year != elements(fields)[YEAR] - 1900)
|
||||
throw new java::lang::IllegalArgumentException ();
|
||||
}
|
||||
}
|
||||
#else
|
||||
time_t t = 0;
|
||||
#endif
|
||||
|
||||
// Adjust for local timezone (introduced by mktime) and our
|
||||
// timezone.
|
||||
#if defined (STRUCT_TM_HAS_GMTOFF)
|
||||
t -= tim.tm_gmtoff;
|
||||
#elif defined (HAVE_TIMEZONE)
|
||||
t += timezone;
|
||||
#endif
|
||||
// Adjust for milliseconds.
|
||||
time = t * (jlong) 1000 + elements(fields)[MILLISECOND];
|
||||
|
||||
// Now adjust for the real timezone, i.e. our timezone, which is in millis.
|
||||
java::util::TimeZone *zone = getTimeZone ();
|
||||
time += zone->getRawOffset();
|
||||
|
||||
isTimeSet = true;
|
||||
}
|
||||
|
||||
void
|
||||
java::util::GregorianCalendar::computeFields ()
|
||||
{
|
||||
time_t t = time / 1000;
|
||||
int millis = time % 1000;
|
||||
if (t < 0 && millis != 0)
|
||||
{
|
||||
t--;
|
||||
millis = t - 1000 * t;
|
||||
}
|
||||
elements(fields)[MILLISECOND] = millis;
|
||||
struct tm tim;
|
||||
java::util::TimeZone *zone = getTimeZone ();
|
||||
|
||||
// FIXME: None of the standard C library access to the ECOS calendar
|
||||
// is yet available.
|
||||
#ifdef ECOS
|
||||
memset (&tim, 0, sizeof tim);
|
||||
#else
|
||||
if (zone->getRawOffset() == 0 || ! zone->useDaylightTime())
|
||||
{
|
||||
#if defined(__JV_POSIX_THREADS__) && defined(HAVE_GMTIME_R)
|
||||
gmtime_r (&t, &tim);
|
||||
#else
|
||||
// Get global lock (because gmtime uses a global buffer). FIXME
|
||||
tim = *(struct tm*) gmtime (&t);
|
||||
// Release global lock. FIXME
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(__JV_POSIX_THREADS__) && defined(HAVE_LOCALTIME_R)
|
||||
localtime_r (&t, &tim);
|
||||
#else
|
||||
// Get global lock (because localtime uses a global buffer). FIXME
|
||||
tim = *(struct tm*) localtime (&t);
|
||||
// Release global lock. FIXME
|
||||
#endif
|
||||
}
|
||||
#endif /* ECOS */
|
||||
elements(fields)[SECOND] = tim.tm_sec;
|
||||
elements(fields)[MINUTE] = tim.tm_min;
|
||||
elements(fields)[HOUR_OF_DAY] = tim.tm_hour;
|
||||
elements(fields)[AM_PM] = tim.tm_hour < 12 ? AM : PM;
|
||||
elements(fields)[HOUR] = tim.tm_hour % 12;
|
||||
elements(fields)[DATE] = tim.tm_mday;
|
||||
elements(fields)[MONTH] = tim.tm_mon;
|
||||
elements(fields)[YEAR] = 1900 + tim.tm_year;
|
||||
elements(fields)[DAY_OF_WEEK] = tim.tm_wday + 1;
|
||||
elements(fields)[DAY_OF_WEEK_IN_MONTH] = ((tim.tm_mday - 1) / 7) + 1;
|
||||
elements(fields)[DAY_OF_YEAR] = tim.tm_yday + 1;
|
||||
elements(fields)[WEEK_OF_MONTH]
|
||||
= (tim.tm_mday + 6 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
|
||||
elements(fields)[WEEK_OF_YEAR]
|
||||
= (tim.tm_yday + 7 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
|
||||
elements(fields)[ERA] = AD;
|
||||
elements(fields)[DST_OFFSET] = tim.tm_isdst <= 0 ? 0 : 60*60*1000;
|
||||
elements(fields)[ZONE_OFFSET] = getTimeZone()->getRawOffset();
|
||||
areFieldsSet = true;
|
||||
for (int i = 0; i < FIELD_COUNT; i++)
|
||||
elements(isSet__)[i] = true;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user