|
Once upon a time, long-long ago, when skys were much more blue then today,
girls were much more beautiful and Java was just young programming language for applets,
I created this class - StrCalendar for String-to-Calendar and Calendar-to-String conversion.
When it was? Hmm... it was long ago, may be in a previous millennium, when there were no
good String-Calendar converters in standard SUN Java.
I thought it's over - now days it is not the time of such a 'hand-made' converters.
But I was wrong. Soon I found that even now we need this simple class.
We can use it in J2ME. It is appear that history make it's cycle and there is a need
of good-old StrCalendar for String-Calendar transformation - now in Java Microedition.
May be in the nearest future we will see next version of new kind of 'small' Java
(may be embedde Java), where again we can use this class...
package com.robohobby.me;
import java.util.Calendar;
@Ads
public class StrCalendar {
@param
@return
static public java.util.Calendar strToCalendar(String str) {
int y, month, date, h, min, sec;
y = Integer.parseInt(str.substring(0, 4));
month = Integer.parseInt(str.substring(5, 7));
month -= 1;
date = Integer.parseInt(str.substring(8, 10));
h = Integer.parseInt(str.substring(11, 13));
min = Integer.parseInt(str.substring(14, 16));
sec = Integer.parseInt(str.substring(17, 19));
java.util.Calendar c = java.util.Calendar.getInstance();
c.set(Calendar.YEAR, y);
c.set(Calendar.MONTH, month);
c.set(Calendar.DATE, date);
c.set(Calendar.HOUR_OF_DAY, h);
c.set(Calendar.MINUTE, min);
c.set(Calendar.SECOND, sec);
return c;
}
@param
@return
static public String calendarToStr(java.util.Calendar c) {
int y = c.get(java.util.Calendar.YEAR);
int m = c.get(java.util.Calendar.MONTH);
m += 1;
String mStr = addZero(m);
int d = c.get(java.util.Calendar.DAY_OF_MONTH);
String dStr = addZero(d);
int h = c.get(java.util.Calendar.HOUR_OF_DAY);
String hStr = addZero(h);
int mn = c.get(java.util.Calendar.MINUTE);
String mnStr = addZero(mn);
int s = c.get(java.util.Calendar.SECOND);
String sStr = addZero(s);
return ("" + y + "-" + mStr + "-" + dStr + " " + hStr + ":" + mnStr + ":" + sStr);
}
@param
@return
static public String calendarToStrFs(java.util.Calendar c) {
int y = c.get(java.util.Calendar.YEAR);
int m = c.get(java.util.Calendar.MONTH);
m += 1;
String mStr = addZero(m);
int d = c.get(java.util.Calendar.DAY_OF_MONTH);
String dStr = addZero(d);
int h = c.get(java.util.Calendar.HOUR_OF_DAY);
String hStr = addZero(h);
int mn = c.get(java.util.Calendar.MINUTE);
String mnStr = addZero(mn);
int s = c.get(java.util.Calendar.SECOND);
String sStr = addZero(s);
return ("" + y + "-" + mStr + "-" + dStr + "_" + hStr + "-" + mnStr + "-" + sStr);
}
private static String addZero(int d) {
String dStr;
if (d < 10) {
dStr = "0" + d;
} else {
dStr = "" + d;
}
return dStr;
}
}
| |