Reputation: 161
I'm reading data from a xml file. It works well. This is the date value. I want to cut(Delete) the time value inside date. 2014-07-03 10:05:12 It should look like this. 2014-07-03
This is my code. Could you please help me with this. Thanks in advance.
package com.eisuru.abc;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tvResponse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
tvResponse = (TextView) findViewById(R.id.tvResponse);
new PostAsync().execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
class PostAsync extends AsyncTask<Void, Void, Void> {
ProgressDialog pd; XMLHelper helper;
@Override
protected void onPreExecute() {
pd = ProgressDialog.show(MainActivity.this, "Exchange Rates", "Loading Exchange rates values ...", true, false);
}
@Override
protected Void doInBackground(Void... arg0) {
helper = new XMLHelper(); helper.get();
return null;
}
@Override
protected void onPostExecute(Void result)
{
StringBuilder builder = new StringBuilder();
for(Exrate_values post : helper.exrates) {
if(post.getTo_Currency().equalsIgnoreCase("SLR"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
//builder.delete(13, 15);
if(post.getFrom_currency().equalsIgnoreCase("LKR")&& post.getTo_Currency().equalsIgnoreCase("SLR"))
{
builder.delete(0, builder.length());
}
}
if(post.getFrom_currency().equalsIgnoreCase("EUR")&& post.getTo_Currency().equalsIgnoreCase("GBP"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
if(post.getFrom_currency().equalsIgnoreCase("AUD")&& post.getTo_Currency().equalsIgnoreCase("USD"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
if(post.getFrom_currency().equalsIgnoreCase("EUR")&& post.getTo_Currency().equalsIgnoreCase("USD"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
if(post.getFrom_currency().equalsIgnoreCase("EUR")&& post.getTo_Currency().equalsIgnoreCase("AUD"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
if(post.getFrom_currency().equalsIgnoreCase("GBP")&& post.getTo_Currency().equalsIgnoreCase("USD"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
if(post.getFrom_currency().equalsIgnoreCase("GBP")&& post.getTo_Currency().equalsIgnoreCase("AUD"))
{
builder.append("\n\t " + post.getDate());
builder.append("\t \t \t " + post.getFrom_currency());
builder.append("\t \t \t " + post.getTo_Currency());
builder.append("\t \t \t " + post.getExrt_buy());
builder.append("\t \t \t \t \t \t" + post.getExrt_sell());
builder.append("\n");
}
}
tvResponse.setText(builder.toString());
pd.dismiss();
}
}
}
Upvotes: 0
Views: 266
Reputation: 579
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(new Date(post.getDate()));
Upvotes: 0
Reputation: 4471
METHOD 1: If it's simply a string, you could get away with parsing a substring. There are many methods you can use to do this, such as:
String datetime = "2014-07-03 10:05:12";
String[] date = datetime.split(" ");
Then date[0]
will be equal to "2014-07-03"
.
METHOD 2: Since your date will always be the same length, you can use substring
.
String date = datetime.substring(0,10);
METHOD 3: You can also parse dates using SimpleDateFormat
.
SimpleDateFormat fromDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat toDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
String date = toDateFormat.format(fromDateFormat.parse(datetime));
} catch (ParseException e1) {
e1.printStackTrace();
}
Upvotes: 1
Reputation: 137
You have to create SimpleDateFormat to parse date in required format.
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
formatter.format(formatter.parse(post.getDate()));
This will parse Date- 2014-07-03 10:05:12 to 2014-07-03.
Upvotes: 0