Android Programming Press on the image to return to the main documentation page.

AHLocale

Written by Markus Stipp

List of types:

AHDateTime
AHDateUtils
AHLocale
AHNumeric
AHTimeZone
AHTranslator

AHDateTime

With the AHDateTime object you can format and parse date and time strings.

The B4A builtin DateTime object always uses localized format strings so it is
not possible to parse something like "2011/05/19 01:45 PM" on a german device
because "PM" is "nachm." there. You can Initialize the AHDateTime object with
any locale you want and so you are totally free on date formats.

Events:

None

Members:


  DEFAULT As Int

  Format (ticks As Long) As String

  FULL As Int

  GetDefaultDatePattern (Style As Int) As String

  GetDefaultDatePattern2 (Style As Int, Locale As AHLocale) As String

  GetDefaultDateTimePattern (DateStyle As Int, TimeStyle As Int) As String

  GetDefaultDateTimePattern2 (DateStyle As Int, TimeStyle As Int, Locale As AHLocale) As String

  GetDefaultTimePattern (Style As Int) As String

  GetDefaultTimePattern2 (Style As Int, Locale As AHLocale) As String

  GetShortDatePatternWithoutYear As String

  Initialize

  Initialize2 (locale As AHLocale)

  InitializeUS

  is24HourFormat As Boolean

  Lenient As Boolean

  LONG As Int

  MEDIUM As Int

  Parse (date As String) As Long

  Pattern As String

  SHORT As Int

  TimeZone As AHTimeZone

Members description:

DEFAULT As Int
Format (ticks As Long) As String
Formats the specified ticks value to a string with the specified pattern.
FULL As Int
GetDefaultDatePattern (Style As Int) As String
Gets the default DatePattern of the device default locale

Style - Use constants SHORT, MEDIUM, LONG, FULL, DEFAULT
GetDefaultDatePattern2 (Style As Int, Locale As AHLocale) As String
Gets the default DatePattern of given locale

Style - Use constants SHORT, MEDIUM, LONG, FULL, DEFAULT
Locale - Reference to an AHLocale object
GetDefaultDateTimePattern (DateStyle As Int, TimeStyle As Int) As String
Gets the device default DateTimePattern

DateStyle - Style for Date
TimeStyle - Style for Time
GetDefaultDateTimePattern2 (DateStyle As Int, TimeStyle As Int, Locale As AHLocale) As String
Gets the DateTimePattern for the given Locale

DateStyle - Style for Date
TimeStyle - Style for Time
GetDefaultTimePattern (Style As Int) As String
Gets the default TimePattern of the device default locale

Style - Use constants SHORT, MEDIUM, LONG, FULL, DEFAULT
GetDefaultTimePattern2 (Style As Int, Locale As AHLocale) As String
Gets the default TimePattern of given locale

Style - Use constants SHORT, MEDIUM, LONG, FULL, DEFAULT
Locale - Reference to an AHLocale object
GetShortDatePatternWithoutYear As String
Return a short date pattern without year information
Initialize
Initializes the AHDateTime object with the default locale.
Initialize2 (locale As AHLocale)
Initializes the AHDateTime object with the given AHLocale object
InitializeUS
Initializes the AHDateTime object with the en_US locale.
is24HourFormat As Boolean
Returns true if the user preference settings is 24 hour format.
Lenient As Boolean
If you set this to true the parser is not very strict on his date format.
LONG As Int
MEDIUM As Int
Parse (date As String) As Long
Parses the specified string and returns a tick value.

Throws an exception if the string can not be parsed.
Pattern As String
Sets or gets the Date/Time pattern

Default pattern is: yyyy-MM-dd HH:mm:ss

For allowed placeholders look here:
SimpleDateFormat
SHORT As Int
TimeZone As AHTimeZone
Sets or gets the timezone for the AHDateTime object

AHDateUtils

With the AHDateUtils object you can format date and time strings with
standard device settings.

For more information have a look at the original android.text.format.DateUtilsdocumentation.

Events:

None

Members:


  FORMAT_12HOUR As Int

  FORMAT_24HOUR As Int

  FORMAT_ABBREV_ALL As Int

  FORMAT_ABBREV_MONTH As Int

  FORMAT_ABBREV_RELIVE As Int

  FORMAT_ABBREV_TIME As Int

  FORMAT_ABBREV_WEEKDAY As Int

  FORMAT_CAP_AMPM As Int

  FORMAT_CAP_MIDNIGHT As Int

  FORMAT_CAP_NOON As Int

  FORMAT_CAP_NOON_MIDNIGHT As Int

  FORMAT_NO_MIDNIGHT As Int

  FORMAT_NO_MONTH_DAY As Int

  FORMAT_NO_NOON As Int

  FORMAT_NO_NOON_MIDNIGHT As Int

  FORMAT_NO_YEAR As Int

  FORMAT_NUMERIC_DATE As Int

  FORMAT_SHOW_DATE As Int

  FORMAT_SHOW_TIME As Int

  FORMAT_SHOW_WEEKDAY As Int

  FORMAT_SHOW_YEAR As Int

  FORMAT_UTC As Int

  FormatDateRange (StartTicks As Long, EndTicks As Long, Flags As Int) As String

  FormatDateTime (Ticks As Long, Flags As Int) As String

  FormatElapsedTime (Seconds As Long) As String

  GetRelativeDateTimeString (Ticks As Long, MinResolution As Long, TransitionResolution As Long, Flags As Int) As CharSequence

  GetRelativeTimeSpanString (Ticks As Long, Now As Long, MinResolution As Long, Flags As Int) As CharSequence

  IsToday (Ticks As Long) As Boolean

  LENGTH_LONG As Int

  LENGTH_MEDIUM As Int

  LENGTH_SHORT As Int

  LENGTH_SHORTER As Int

  LENGTH_SHORTEST As Int

Members description:

FORMAT_12HOUR As Int
FORMAT_24HOUR As Int
FORMAT_ABBREV_ALL As Int
FORMAT_ABBREV_MONTH As Int
FORMAT_ABBREV_RELIVE As Int
FORMAT_ABBREV_TIME As Int
FORMAT_ABBREV_WEEKDAY As Int
FORMAT_CAP_AMPM As Int
FORMAT_CAP_MIDNIGHT As Int
FORMAT_CAP_NOON As Int
FORMAT_CAP_NOON_MIDNIGHT As Int
FORMAT_NO_MIDNIGHT As Int
FORMAT_NO_MONTH_DAY As Int
FORMAT_NO_NOON As Int
FORMAT_NO_NOON_MIDNIGHT As Int
FORMAT_NO_YEAR As Int
FORMAT_NUMERIC_DATE As Int
FORMAT_SHOW_DATE As Int
FORMAT_SHOW_TIME As Int
FORMAT_SHOW_WEEKDAY As Int
FORMAT_SHOW_YEAR As Int
FORMAT_UTC As Int
FormatDateRange (StartTicks As Long, EndTicks As Long, Flags As Int) As String
Formats a date or a time range according to the local conventions.

Note that this is a convenience method. Using it involves creating an
internal Formatter instance on-the-fly, which is somewhat costly in terms
of memory and time.

StartTicks - start time
EndTicks - end time
Flags - a bit mask of options
FormatDateTime (Ticks As Long, Flags As Int) As String
Formats a date or a time according to the local conventions. There are
lots of options that allow the caller to control, for example, if the
time is shown, if the day of the week is shown, if the month name is
abbreviated, if noon is shown instead of 12pm, and so on.

Ticks - time/date to format
Flags - a bit mask of options
FormatElapsedTime (Seconds As Long) As String
Formats an elapsed time in the form "MM:SS" or "H:MM:SS" for display on
the call-in-progress screen.

Seconds - the elapsed time in seconds.
GetRelativeDateTimeString (Ticks As Long, MinResolution As Long, TransitionResolution As Long, Flags As Int) As CharSequence
Return string describing the elapsed time since startTime formatted like
"[relative time/date], [time]".

Ticks - some time in the past.

MinResolution - the minimum elapsed time (in milliseconds) to
report when showing relative times. For example, a time 3 seconds in the
past will be reported as "0 minutes ago" if this is set to
MINUTE_IN_MILLIS.

TransitionResolution - the elapsed time (in milliseconds) at which
to stop reporting relative measurements. Elapsed times greater than this
resolution will default to normal date formatting. For example, will
transition from "6 days ago" to "Dec 12" when using WEEK_IN_MILLIS.

Flags - a bit mask of options
GetRelativeTimeSpanString (Ticks As Long, Now As Long, MinResolution As Long, Flags As Int) As CharSequence
Returns a string describing 'time' as a time relative to 'now'.

Time spans in the past are formatted like "42 minutes ago". Time spans in
the future are formatted like "in 42 minutes". Can use
FORMAT_ABBREV_RELATIVE flag to use abbreviated relative times, like
"42 mins ago".

Ticks - the time to describe, in milliseconds

Now - the current time in
milliseconds

MinResolution - the minimum timespan to report. For example,
a time 3 seconds in the past will be reported as "0 minutes ago" if this
is set to MINUTE_IN_MILLIS. Pass one of 0, MINUTE_IN_MILLIS,
HOUR_IN_MILLIS, DAY_IN_MILLIS, WEEK_IN_MILLIS

Flags - a bit mask of
formatting options, such as FORMAT_NUMERIC_DATE or FORMAT_ABBREV_RELATIVE
IsToday (Ticks As Long) As Boolean
Returns true if the supplied Ticks value is today else false
LENGTH_LONG As Int
LENGTH_MEDIUM As Int
LENGTH_SHORT As Int
LENGTH_SHORTER As Int
LENGTH_SHORTEST As Int

AHLocale

The AHLocale object allows you to access many locale aware values such as
localized month names, day names or currency symbols.

There are also methods to find out which locales are available on your device
or which languages and countries can be used.

Events:

None

Members:


  AmPmStrings() As String [read only]

  AvailableLocales As List [read only]

  Country As String [read only]

  CurrencyCode As String [read only]

  CurrencyFractionDigits As Int [read only]

  CurrencySymbol As String [read only]

  DisplayCountry As String [read only]

  DisplayLanguage As String [read only]

  DisplayName As String [read only]

  EnglishCountry As String [read only]

  EnglishLanguage As String [read only]

  EnglishName As String [read only]

  FirstDayOfWeek As Int [read only]

  Initialize

  Initialize2 (language As String)

  Initialize3 (language As String, country As String)

  Initialized As Boolean [read only]

  InitializeUS

  ISO3Country As String [read only]

  ISO3Language As String [read only]

  ISOCode As String [read only]

  ISOCountries() As String [read only]

  ISOLanguages() As String [read only]

  Language As String [read only]

  Months() As String [read only]

  ShortMonths() As String [read only]

  ShortWeekDays() As String [read only]

  WeekDays() As String [read only]

Members description:

AmPmStrings() As String [read only]
Returns the array of strings which represent AM and PM.
AvailableLocales As List [read only]
Returns the system's installed locales. These are returned as a B4A List of AHLocale Objects.
There are only locales in this list which have a non empty country and language.
Country As String [read only]
Returns the country/region code for this locale, which will either be the
empty string or an uppercase ISO 3166 2-letter code.
CurrencyCode As String [read only]
Returns this currency's ISO 4217 currency code.
CurrencyFractionDigits As Int [read only]
Returns the default number of fraction digits for this currency.
CurrencySymbol As String [read only]
Returns the localized currency symbol for this currency in locale.
DisplayCountry As String [read only]
Returns the name of this locale's country, localized to locale. Returns
the empty string if this locale does not correspond to a specific country
DisplayLanguage As String [read only]
Returns the name of this locale's language, localized to locale. If the
language name is unknown, the language code is returned.
DisplayName As String [read only]
Returns this locale's language name, country name, and variant, localized
to locale. The exact output form depends on whether this locale
corresponds to a specific language, country and variant, such as:
English, English (United States), English (United States,Computer),
anglais (?tats-Unis), anglais (?tats-Unis,informatique).
EnglishCountry As String [read only]
Returns the name of this locale's country in english. Returns
the empty string if this locale does not correspond to a specific country
EnglishLanguage As String [read only]
Returns the name of this locale's language in english. If the
language name is unknown, the language code is returned.
EnglishName As String [read only]
Returns this locale's language name, country name, and variant in english.
The exact output form depends on whether this locale
corresponds to a specific language, country and variant, such as:
English, English (United States), English (United States,Computer),
anglais (?tats-Unis), anglais (?tats-Unis,informatique).
FirstDayOfWeek As Int [read only]
Gets the first day of the week
Initialize
Initializes the AHLocale object with the default locale.
Initialize2 (language As String)
Initializes the AHLocale object using the specified language.
Initialize3 (language As String, country As String)
Initializes the AHLocale object using the specified language and country.
Initialized As Boolean [read only]
Returns if the object is initialized
InitializeUS
Initializes the AHLocale Object with en_US locale. This locale is
available on every device.
ISO3Country As String [read only]
Gets the three letter ISO country code which corresponds to the country
code for this Locale.
ISO3Language As String [read only]
Gets the three letter ISO language code which corresponds to the language
code for this Locale.
ISOCode As String [read only]
Returns the ISO Code for this Locale such as en_US or de_DE
ISOCountries() As String [read only]
Gets the list of two letter ISO country codes which can be used as the
country code for a Locale.
ISOLanguages() As String [read only]
Gets the list of two letter ISO language codes which can be used as the
language code for a Locale.
Language As String [read only]
Gets the language code for this Locale or the empty string if no language
was set.
Months() As String [read only]
Returns the array of strings containing the full names of the months.
ShortMonths() As String [read only]
Returns the array of strings containing the abbreviated names of the months.
ShortWeekDays() As String [read only]
Returns the array of strings containing the abbreviated names of the days of the week.
WeekDays() As String [read only]
Returns the array of strings containing the full names of the days of the week.

AHNumeric

With the AHNumeric object you can format and parse numbers, currency values
and percent values.

There are several Initialize methods to initialize different types of the
object. These differ normally in the pattern that is applied to the
NumberFormat object.

For further details see the java.text.DecimalFormat
and java.text.NumberFormat documentation.

Events:

None

Members:


  Format (Value As Double) As String

  Initialize

  Initialize2 (Locale As AHLocale)

  InitializeCurrency

  InitializeCurrency2 (Locale As AHLocale)

  InitializeInteger

  InitializeInteger2 (Locale As AHLocale)

  InitializeNumber

  InitializeNumber2 (Locale As AHLocale)

  InitializePercent

  InitializePercent2 (Locale As AHLocale)

  MaximumFractionDigits As Int

  MaximumIntegerDigits As Int

  MinimumFractionDigits As Int

  MinimumIntegerDigits As Int

  Parse (Value As String) As Number

  Pattern As String

Members description:

Format (Value As Double) As String
Format the number to a string using the pattern and rules of this object.
Initialize
Initializes a standard NumberFormat object with the standard locale
Initialize2 (Locale As AHLocale)
Initializes a standard NumberFormat object with the given locale.
InitializeCurrency
Initializes a currency NumberFormat object with the standard locale
InitializeCurrency2 (Locale As AHLocale)
Initializes a currency NumberFormat object with the given locale.
InitializeInteger
Initializes an integer NumberFormat object with the standard locale
InitializeInteger2 (Locale As AHLocale)
Initializes an integer NumberFormat object with the given locale.
InitializeNumber
Initializes a standard NumberFormat object with the standard locale
InitializeNumber2 (Locale As AHLocale)
Initializes a standard NumberFormat object with the given locale.
InitializePercent
Initializes a percent NumberFormat object with the standard locale
InitializePercent2 (Locale As AHLocale)
Initializes a percent NumberFormat object with the given locale.
MaximumFractionDigits As Int
Set or get the maximum fraction digits.
MaximumIntegerDigits As Int
Set or get the maximum integer digits.
MinimumFractionDigits As Int
Set or get the minimum fraction digits.
MinimumIntegerDigits As Int
Set or get the minimum integer digits
Parse (Value As String) As Number
Parse the given string and convert it to a number. This may throw a
ParseException if the format of the string is not correct.
Pattern As String
Set or get the pattern that is used for formatting and parsing.

AHTimeZone

With the AHTimezone object you can get information about device timezones.

Events:

None

Members:


  AvailableIds As List [read only]

  DSTSavings As Long [read only]

  GetDisplayName (DaylightTime As Boolean, Style As Int) As String

  GetDisplayName2 (DaylightTime As Boolean, Style As Int, Locale As AHLocale) As String

  GetOffset (Date As Long) As Long

  ID As String

  InDaylightTime (Date As Long) As Boolean

  Initialize

  Initialize2 (ID As String)

  RawOffset As Long

  STYLE_LONG As Int

  STYLE_SHORT As Int

Members description:

AvailableIds As List [read only]
Returns a list of available timezone IDs on this device.
One of the results can be passed to the Initialize2() Method to reinitialize
an AHTimeZone object with a different timezone
DSTSavings As Long [read only]
Returns the daylight savings offset in milliseconds for this time zone.
The base implementation returns 3600000 (1 hour) for time zones that use daylight savings
time and 0 for timezones that do not.
Note that this method doesn't tell you whether or not to apply the offset: you need to call
InDaylightTime() for the specific time you're interested in. If this method returns a non-zero
offset, that only tells you that this TimeZone sometimes observes daylight savings.
GetDisplayName (DaylightTime As Boolean, Style As Int) As String
Returns the Display name of this timezone

DaylightTime - Set to true if you want to have DST included into the name
Style - AHTimeZone.SHORT or AHTimeZone.LONG format
GetDisplayName2 (DaylightTime As Boolean, Style As Int, Locale As AHLocale) As String
Returns the Display name of this timezone

DaylightTime - Set to true if you want to have DST included into the name
Style - AHTimeZone.SHORT or AHTimeZone.LONG format
Locale - a AHLocale object to set in which language you want the displayname
GetOffset (Date As Long) As Long
Returns the offset in milliseconds from UTC for this time zone at time.
The offset includes daylight savings time if the specified date is within the daylight savings time period.

Date - Date for which you want to have the info
ID As String
Gets or sets the timezone ID as String for this timezone
InDaylightTime (Date As Long) As Boolean
Returns true if Date is in a daylight savings time period for this time zone.

Date - Date for which you want to get the info
Initialize
Initialize a AHTimeZone object with default timezone
Initialize2 (ID As String)
Initializes a AHTimeZone object with the given TimeZone ID

ID - TimeZone ID like "Europe/Berlin"
RawOffset As Long
Sets or gets the Raw offset for this timezone
STYLE_LONG As Int
STYLE_SHORT As Int

AHTranslator

With the Translator object you can make your programs support multiple
languages. It is very easy to create translations for your program and use
them.

Translation files have the following name convention:
[basename]_[language].lng

The format is a standard Java properties file. Special characters should be
converted to unicode sequences.

The translator object holds two Map Objects for the translations. One for the
existing translations in the language file and one for missing translations
in the language file. When you call GetText() with a string that is not in
the translation file then it will be added to the missing translations Map.

Events:

None

Members:


  CurrentCountry As String [read only]

  CurrentFile As String [read only]

  CurrentLanguage As String [read only]

  DefaultLanguage As String

  Extension As String

  GetText (text As String) As String

  GetText2 (text As String, params As List) As String

  Initialize (dir As String, basename As String)

  Initialize2 (dir As String, basename As String, language As String)

  Initialize3 (dir As String, basename As String, language As String, country As String)

  MissingTranslationMap As Map [read only]

  TranslationMap As Map

  WriteTranslation (dir As String, filename As String)

Members description:

CurrentCountry As String [read only]
Returns the current County code
CurrentFile As String [read only]
Returns current file name of language file
CurrentLanguage As String [read only]
Returns current Language code
DefaultLanguage As String
Sets or gets the default language. This is the language used when no language file is found.
If you don't set it the default language will be empty and is not used.
Extension As String
Sets or gets the current file extension
GetText (text As String) As String
Searches for the text in the translation table. If a translation is
available it will be returned. If no translation is available the text is
added to the missing translation table and the original text is returned.
So you can write your whole program in a default language. If a
translation is available it will be used, if not, the text will be
returned in the default language.
GetText2 (text As String, params As List) As String
Searches for the text in the translation table and returns the translated
text.

You can use Placeholders in the form of {1} {2} etc. which will be
replaced with the content of the second parameter. {1} will be replaced
with the first item in the Array/List, {2} with the second one and so on.
Initialize (dir As String, basename As String)
Initializes a translation object with the device language. Tries to read a
translation file with the following name convention: basename_language.lng
Initialize2 (dir As String, basename As String, language As String)
Initializes a translation object with the given language. Tries to read a
translation file with the following name convention: basename_language.lng
Initialize3 (dir As String, basename As String, language As String, country As String)
Initializes a translation object with the given language and country code.
Tries to read a translation file with the following name
convention: basename_language_country.lng
MissingTranslationMap As Map [read only]
Returns a Map object with all text phrases which are missing in the
translation file.
TranslationMap As Map
Returns a Map object with the current translations
WriteTranslation (dir As String, filename As String)
Writes two files to the specified dir. The current translation Map is
written to [filename]_[language].lng and the missing translation Map is
written to [filename]_miss_[language].lng
Top