همانطور که قول داده بودم
میلادی به شمسی


public class mTpDate {	public String todayShamsi(int y,int m,int d) {


String year = ""+y;
String month = ""+m;
String day = ""+d;
int Y = Integer.valueOf(year);
int M = Integer.valueOf(month);
int D = Integer.valueOf(day);
return mTp(Y, M, D);
}


public String mTp(int Y, int M, int D)
{
int gDay,gMonth,gYear;
switch(M) {
case 1:
if(D <= 20){
M = 10;
D = D + 10;
}else{
M = 11;
D = D - 20;
}
break;
case 2:
if(D <= 19){
M = 11;
D = D + 11;
}else{
M = 12;
D = D -19;
}
break;
case 3:
if(D <= 20){
M = 12;
D = D + 9;
}else{
M = 1;
D = D - 20;
}
break;
case 4:
if(D <= 20 ){
M = 1;
D = D + 11;
}else{
M = 2;
D = D - 20;
}
break;
case 5:
if( D <= 21){
M = 2;
D = D + 10;
}else{
M = 3;
D = D - 21;
}
break;
case 6:
if(D <= 21){
M = 3;
D = D + 10;
}else{
M = 4;
D = D - 21;
}
break;
case 7:
if(D <= 22){
M = 4;
D = D + 9;
}else{
M = 5;
D = D - 22;
}
break;
case 8:
if(D <= 22){
M = 5;
D = D + 9;
}else{
M = 6;
D = D - 22;
}
break;
case 9:
if(D <= 22){
M = 6;
D = D + 9;
}else{
M = 7;
D = D - 22;
}
break;
case 10:
if(D <= 22){
M = 7;
D = D + 8;
}else{
M = 8;
D = D - 22;
}
break;
case 11:
if(D <= 21){
M = 8;
D = D + 9;
}else{
M = 9;
D = D - 21;
}
break;
case 12:
if(D <= 21 ){
M = 9;
D = D + 9 ;
}else{
M = 10;
D = D - 21;
}
break;
}


gDay = D;
gMonth = M;
gYear = Y-621+ (8-gMonth)/6;
return ""+gYear+ "/"+gMonth +"/"+gDay;
}
}




استفاده

mTpDate mtp = new mTpDate();
mTp.mTp(2014,08,28);