Share on Google+Share on Google+

Java Convert date to words

Advertisement
In this tutorial, you will learn how to convert date into words.

Java Convert date to words

In this tutorial, you will learn how to convert date into words.

Just like a number, you can also convert a date into words. Here we are going to convert the current date into words. For this, we have created an instance of Date class to get the current date and extract all the parts of the date (the day, the month, the year), and convert them individually using the custom method convert().

Example:

import java.util.*;
import java.text.*;

public class DateToWords{
String string;
String st1[] = { "", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", };
String st2[] = { "hundred", "thousand"};
String st3[] = { "ten", "eleven", "twelve", "thirteen", "fourteen",
"fifteen", "sixteen", "seventeen", "eighteen", "ninteen", };
String st4[] = { "twenty", "thirty"};

public String getMonth(int month) {
return new DateFormatSymbols().getMonths()[month-1];
}

public String convert(int number){
int n = 1;
int word;
string = "";
while (number != 0) {
switch (n) {
case 1:
word = number % 100;
pass(word);
if (number > 100 && number % 100 != 0) {
show("and ");
}
number /= 100;
break;

case 2:
word = number % 10;
if (word != 0) {
show(" ");
show(st2[0]);
show(" ");
pass(word);
}
number /= 10;
break;

case 3:
word = number % 100;
if (word != 0) {
show(" ");
show(st2[1]);
show(" ");
pass(word);
}
number /= 100;
break;

case 4:
word = number % 100;
if (word != 0) {
show(" ");
show(st2[2]);
show(" ");
pass(word);
}
number /= 100;
break;

case 5:
word = number % 100;
if (word != 0) {
show(" ");
show(st2[3]);
show(" ");
pass(word);
}
number /= 100;
break;

}
n++;
}
return string;
}

public void pass(int number) {
int word, q;
if (number < 10) {
show(st1[number]);
}
if (number > 9 && number < 20) {
show(st3[number - 10]);
}
if (number > 19) {
word = number % 10;
if (word == 0) {
q = number / 10;
show(st4[q - 2]);
} else {
q = number / 10;
show(st1[word]);
show(" ");
show(st4[q - 2]);
}
}
}
public void show(String s) {
String st;
st = string;
string = s;
string += st;
}

public static void main(String[] args) {
DateToWords num = new DateToWords();
Calendar cal = Calendar.getInstance();
Date d=new Date();
cal.setTime(d);
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
int year = cal.get(Calendar.YEAR);
System.out.println("Today's Date is: "+d.toString());
System.out.println("Today's Date(in words) is: "+num.convert(day)+" "+num.getMonth(month)+" "+num.convert(year));
}
}

Output:

Today's Date is: Fri Oct 05 10:46:10 IST 2012
Today's Date(in words) is: five October two thousand and twelve

Advertisements

Advertisement

Posted on: October 5, 2012 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.