i'm making a chat app and want to store time when new message typed and store this time to database as string i use this method
@Override
public void onClick(View v) {
if (v == mImageButton) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
timeStamp = simpleDateFormat.format(calendar.getTime());
MessageModel messageModel = new MessageModel(mUserId,
mUserImageUrl,
mEditText_message.getText().toString(),
mUsername,
timeStamp);
mFirebaseDatabaseRefrence_messages.push().setValue(messageModel);
mEditText_message.setText(null);
}
}
now i want to convert this UTC time to device default time so how i do that
and i also use this method but this crash my app but this method crash my app
String dateStr = model.getTimeStamp();
SimpleDateFormat df = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = df.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
df.setTimeZone(TimeZone.getDefault());
String formattedDate = df.format(date);
if (model.getTimeStamp() == null) {
viewHolder.mTextView_timeStamp.setText("Time");
} else {
viewHolder.mTextView_timeStamp.setText(formattedDate);
}