Skip to content

Instantly share code, notes, and snippets.

@olijf
Last active April 20, 2020 09:29
Show Gist options
  • Save olijf/0147aeb1e0b1b5022cd157825e19b516 to your computer and use it in GitHub Desktop.
Save olijf/0147aeb1e0b1b5022cd157825e19b516 to your computer and use it in GitHub Desktop.
Locale testing in Java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;
import java.text.NumberFormat;
/*from w w w . j ava2s . c o m*/
public class Main {
public static void main(String[] args) {
printShit(java.util.Locale.US);
printShit(java.util.Locale.ROOT);
printShit(new java.util.Locale("nl","NL"));
}
public static void printShit(java.util.Locale locale){
LocalDate ld = LocalDate.of(2014, Month.JUNE, 21);
LocalTime lt = LocalTime.of(17, 30, 20);
LocalDateTime ldt = LocalDateTime.of(ld, lt);
java.util.Locale.setDefault(locale);
DateTimeFormatter fmt = DateTimeFormatter
.ofLocalizedDate(FormatStyle.SHORT);
System.out.println("Formatter Default Locale: " + fmt.getLocale());
System.out.println("Short Date: " + fmt.format(ld));
fmt = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
System.out.println("Medium Date: " + fmt.format(ld));
fmt = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
System.out.println("Long Date: " + fmt.format(ld));
fmt = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
System.out.println("Full Date: " + fmt.format(ld));
fmt = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);
System.out.println("Short Time: " + fmt.format(lt));
fmt = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
System.out.println("Short Datetime: " + fmt.format(ldt));
fmt = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
System.out.println("Medium Datetime: " + fmt.format(ldt));
System.out.println("Numbers");
double n = 1240.35;
NumberFormat nf = NumberFormat.getInstance(locale);
String val = nf.format(n);
System.out.println(val);
NumberFormat nf1 = NumberFormat.getCurrencyInstance(locale);
String val1 = nf1.format(n);
System.out.println(val1);
System.out.println("========================");
}
}
@olijf
Copy link
Author

olijf commented Apr 20, 2020

Output

$javac Main.java
$java -Xmx128M -Xms16M Main
Formatter  Default Locale: en_US
Short  Date: 6/21/14
Medium Date: Jun 21, 2014
Long  Date: June 21, 2014
Full  Date: Saturday, June 21, 2014
Short Time:  5:30 PM
Short  Datetime: 6/21/14 5:30 PM
Medium Datetime: Jun 21, 2014 5:30:20 PM
Numbers
1,240.35
$1,240.35
========================
Formatter  Default Locale: 
Short  Date: 6/21/14
Medium Date: Jun 21, 2014
Long  Date: June 21, 2014
Full  Date: Saturday, June 21, 2014
Short Time:  5:30 PM
Short  Datetime: 6/21/14 5:30 PM
Medium Datetime: Jun 21, 2014 5:30:20 PM
Numbers
1,240.35
¤ 1,240.35
========================
Formatter  Default Locale: nl_NL
Short  Date: 21-6-14
Medium Date: 21-jun-2014
Long  Date: 21 juni 2014
Full  Date: zaterdag 21 juni 2014
Short Time:  17:30
Short  Datetime: 21-6-14 17:30
Medium Datetime: 21-jun-2014 17:30:20
Numbers
1.240,35
€ 1.240,35
========================

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment