title: ServerValue.TIMESTAMP saving and retrieving timestamp in Firebase
body: <p>My code isn't returning the <code>timestamp</code> from Firebase and I don't know why. Furthermore, in the <code>private void setupWidgets</code> method in the <code>if else</code> statement <code>timestamp</code> is showing up red and I don't know why--I put ** next to it... Does anyone know why that is if I declared it above? Why am I not getting the <code>timestamp</code> in the <code>TextView</code>?</p>
  
  <p>I have used these two pages as references
  <a href="https://stackoverflow.com/questions/43584244/how-to-save-the-current-date-time-when-i-add-new-value-to-firebase-realtime-data">How to save the current date/time when I add new value to Firebase Realtime Database</a> &amp; <a href="https://stackoverflow.com/questions/48458486/convert-servervalue-timestamp-to-date">Convert ServerValue.TIMESTAMP To date</a> aside from all the videos I've watched, but it's still not coming out right.</p>
  
  <pre><code>
  PostAdapter.java
  
      public class ViewHolder extends RecyclerView.ViewHolder {
  
              public ImageView image_profile, post_image, like, comment, attend_event, save_event, more_options;
              public TextView username, number_of_likes, description, number_of_comments, text_event, text_location, text_date_time,
                      number_of_people_attending_event, timestamp;
  
              public ViewHolder(@NonNull View itemView) {
                  super(itemView);
  
                  image_profile = itemView.findViewById(R.id.image_profile);
                  post_image = itemView.findViewById(R.id.post_image);
                  like = itemView.findViewById(R.id.like);
                  comment = itemView.findViewById(R.id.comment);
                  username = itemView.findViewById(R.id.username);
                  number_of_likes = itemView.findViewById(R.id.number_of_likes);
                  description = itemView.findViewById(R.id.description);
                  number_of_comments = itemView.findViewById(R.id.number_of_comments);
                  timestamp = itemView.findViewById(R.id.timestamp);
  
              }
          }
  
      private void saveTimestamp() {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
              Map map = new HashMap();
              map.put("timestamp", ServerValue.TIMESTAMP);
              reference.child("Posts").updateChildren(map);
          }
  
          private void setupWidgets() {
              String timestampDifference = getTimestampDifference();
              if (!timestampDifference.equals("0")) {
                  **timestamp.setText(timestampDifference + " days ago");
              } else {
                  **timestamp.setText("Today");
              }
          }
  
          //Timestamp
          private String getTimestampDifference() {
              String difference = "";
              Calendar calendar = Calendar.getInstance();
              SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
              Date today = calendar.getTime();
              simpleDateFormat.format(today);
              Date timestamp;
              final String dateTime = simpleDateFormat.format(calendar.getTime());
              try {
                  timestamp = simpleDateFormat.parse(dateTime);
                  difference = String.valueOf(Math.round(((today.getTime() - timestamp.getTime()) / 1000 / 60 / 60 / 24)));
              } catch (ParseException e) {
                  difference = "0";
              }
              return difference;
  
          }
  
  </code></pre>
  
  <p>post_item.xml</p>
  
  <pre><code>&lt;TextView
                  android:id="@+id/timestamp"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@+id/description"
                  android:layout_marginStart="10dp"
                  android:layout_marginBottom="10dp"
                  android:text="Have to add a Timestamp" /&gt;
  </code></pre>
  
  <pre><code>PostAdapter.java
  
      package com.e.events.Adapter;
  
      public class PostAdapter extends RecyclerView.Adapter&lt;PostAdapter.ViewHolder&gt; {
  
          public Context mContext;
          public List&lt;Post&gt; mPost;
  
          private FirebaseUser firebaseUser;
  
          public PostAdapter(Context mContext, List&lt;Post&gt; mPost) {
              this.mContext = mContext;
              this.mPost = mPost;
          }
  
          @NonNull
          @Override
          public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
              View view = LayoutInflater.from(mContext).inflate(R.layout.post_item, parent, false);
              return new PostAdapter.ViewHolder(view);
          }
  
          @Override
          public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
  
              firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
              final Post post = mPost.get(position);
  
              Glide.with(mContext).load(post.getPostimage())
                      .apply(new RequestOptions().placeholder(R.drawable.placeholderimg))
                      .into(holder.post_image);
  
              if ("".equals(post.getDescription())) {
                  holder.description.setVisibility(View.GONE);
              } else {
                  holder.description.setVisibility(View.VISIBLE);
                  holder.description.setText(post.getDescription());
              }
  
              if ("".equals(post.getText_event())) {
                  holder.text_event.setVisibility(View.GONE);
              } else {
                  holder.text_event.setVisibility(View.VISIBLE);
                  holder.text_event.setText(post.getText_event());
              }
  
              if ("".equals(post.getText_location())) {
                  holder.text_location.setVisibility(View.GONE);
              } else {
                  holder.text_location.setVisibility(View.VISIBLE);
                  holder.text_location.setText(post.getText_location());
              }
  
              if ("".equals(post.getText_date_time())) {
                  holder.text_date_time.setVisibility(View.GONE);
              } else {
                  holder.text_date_time.setVisibility(View.VISIBLE);
                  holder.text_date_time.setText(post.getText_date_time());
              }
              publisherInfo(holder.image_profile, holder.username, post.getPublisher());
              eventLiked(post.getPostid(), holder.like);
              number_of_likes(holder.number_of_likes, post.getPostid());
  
              holder.like.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      if (holder.like.getTag().equals("like")) {
                          FirebaseDatabase.getInstance().getReference().child("Likes").child(post.getPostid())
                                  .child(firebaseUser.getUid()).setValue(true);
                          addNotification(post.getPublisher(), post.getPostid());
                      } else {
                          FirebaseDatabase.getInstance().getReference().child("Likes").child(post.getPostid())
                                  .child(firebaseUser.getUid()).removeValue();
                      }
                  }
              });
  
              publisherInfo(holder.image_profile, holder.username, post.getPublisher());
              attending_event(post.getPostid(), holder.attend_event);
              number_of_people_attending_event(holder.number_of_people_attending_event, post.getPostid());
              getComments(post.getPostid(), holder.number_of_comments);
              isSaved(post.getPostid(), holder.save_event);
  
              holder.attend_event.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      if (holder.attend_event.getTag().equals("attend_event")) {
                          FirebaseDatabase.getInstance().getReference().child("Attending Event").child(firebaseUser.getUid())
                                  .child(post.getPostid()).setValue(true);
                      } else {
                          FirebaseDatabase.getInstance().getReference().child("Attending Event").child(firebaseUser.getUid())
                                  .child(post.getPostid()).removeValue();
                      }
                  }
              });
  
              holder.image_profile.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      SharedPreferences.Editor editor = mContext.getSharedPreferences("PREFS", Context.MODE_PRIVATE).edit();
                      editor.putString("profileid", post.getPublisher());
                      editor.apply();
  
                      ((FragmentActivity) mContext).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                              new ProfileFragment()).commit();
                  }
              });
  
              holder.username.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      SharedPreferences.Editor editor = mContext.getSharedPreferences("PREFS", Context.MODE_PRIVATE).edit();
                      editor.putString("profileid", post.getPublisher());
                      editor.apply();
  
                      ((FragmentActivity) mContext).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                              new ProfileFragment()).commit();
                  }
              });
  
              holder.post_image.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      SharedPreferences.Editor editor = mContext.getSharedPreferences("PREFS", Context.MODE_PRIVATE).edit();
                      editor.putString("postid", post.getPostid());
                      editor.apply();
  
                      ((FragmentActivity) mContext).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                              new PostDetailFragment()).commit();
                  }
              });
  
              holder.save_event.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      if (holder.save_event.getTag().equals("save")) {
                          FirebaseDatabase.getInstance().getReference().child("Saves").child(firebaseUser.getUid())
                                  .child(post.getPostid()).setValue(true);
                      } else {
                          FirebaseDatabase.getInstance().getReference().child("Saves").child(firebaseUser.getUid())
                                  .child(post.getPostid()).removeValue();
                      }
                  }
              });
  
              holder.attend_event.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      if (holder.attend_event.getTag().equals("attend event")) {
                          FirebaseDatabase.getInstance().getReference().child("Attending Event").child(post.getPostid())
                                  .child(firebaseUser.getUid()).setValue(true);
                      } else {
                          FirebaseDatabase.getInstance().getReference().child("Attending Event").child(post.getPostid())
                                  .child(firebaseUser.getUid()).removeValue();
                      }
                  }
              });
  
              holder.comment.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      Intent intent = new Intent(mContext, CommentsActivity.class);
                      intent.putExtra("postid", post.getPostid());
                      intent.putExtra("publisherid", post.getPublisher());
                      mContext.startActivity(intent);
                  }
              });
  
              holder.number_of_comments.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      Intent intent = new Intent(mContext, CommentsActivity.class);
                      intent.putExtra("postid", post.getPostid());
                      intent.putExtra("publisherid", post.getPublisher());
                      mContext.startActivity(intent);
                  }
              });
  
              holder.number_of_likes.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      Intent intent = new Intent(mContext, FollowersActivity.class);
                      intent.putExtra("id", post.getPostid());
                      intent.putExtra("title", "likes");
                      mContext.startActivity(intent);
                  }
              });
  
              holder.more_options.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      PopupMenu popupMenu = new PopupMenu(mContext, v);
                      popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                          @Override
                          public boolean onMenuItemClick(MenuItem item) {
                              switch (item.getItemId()) {
                                  case R.id.edit_event:
                                      editPost(post.getPostid());
                                      return true;
                                  case R.id.delete_event:
                                      FirebaseDatabase.getInstance().getReference("Posts").child(post.getPostid()).removeValue()
                                              .addOnCompleteListener(new OnCompleteListener&lt;Void&gt;() {
                                                  @Override
                                                  public void onComplete(@NonNull Task&lt;Void&gt; task) {
                                                      if (task.isSuccessful()) {
                                                          Toast.makeText(mContext, "Event deleted", Toast.LENGTH_SHORT).show();
                                                      }
                                                  }
                                              });
                                      return true;
                                  case R.id.report_event:
                                      Toast.makeText(mContext, "Event has been reported", Toast.LENGTH_SHORT).show();
                                      return true;
                                  default:
                                      return false;
                              }
                          }
                      });
                      popupMenu.inflate(R.menu.event_menu);
                      if (!post.getPublisher().equals(firebaseUser.getUid())) {
                          popupMenu.getMenu().findItem(R.id.edit_event).setVisible(false);
                          popupMenu.getMenu().findItem(R.id.delete_event).setVisible(false);
                      }
                      popupMenu.show();
                  }
              });
  
          }
  
          @Override
          public int getItemCount() {
              if (mPost != null) {
                  return mPost.size();
              } else {
                  return 0;
              }
  
          }
  
          public class ViewHolder extends RecyclerView.ViewHolder {
  
              public ImageView image_profile, post_image, like, comment, attend_event, save_event, more_options;
              public TextView username, number_of_likes, description, number_of_comments, text_event, text_location, text_date_time,
                      number_of_people_attending_event, timestamp;
  
              public ViewHolder(@NonNull View itemView) {
                  super(itemView);
  
                  image_profile = itemView.findViewById(R.id.image_profile);
                  post_image = itemView.findViewById(R.id.post_image);
                  like = itemView.findViewById(R.id.like);
                  comment = itemView.findViewById(R.id.comment);
                  username = itemView.findViewById(R.id.username);
                  number_of_likes = itemView.findViewById(R.id.number_of_likes);
                  description = itemView.findViewById(R.id.description);
                  number_of_comments = itemView.findViewById(R.id.number_of_comments);
                  text_event = itemView.findViewById(R.id.text_event);
                  text_location = itemView.findViewById(R.id.text_location);
                  text_date_time = itemView.findViewById(R.id.text_date_time);
                  attend_event = itemView.findViewById(R.id.attend_event);
                  number_of_people_attending_event = itemView.findViewById(R.id.number_of_people_attending_event);
                  save_event = itemView.findViewById(R.id.save_event);
                  more_options = itemView.findViewById(R.id.more_options);
                  timestamp = itemView.findViewById(R.id.timestamp);
  
              }
          }
  
          private void saveTimestamp() {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
              Map map = new HashMap();
              map.put("timestamp", ServerValue.TIMESTAMP);
              reference.child("Posts").updateChildren(map);
          }
  
          //Set words for the timestamp "Today" or "___ days ago"
          private void setupWidgets() {
              String timestampDifference = getTimestampDifference();
              if (!timestampDifference.equals("0")) {
                  timestamp.setText(timestampDifference + " days ago");
              } else {
                  timestamp.setText("Today");
              }
          }
  
          //Timestamp
          private String getTimestampDifference() {
              Log.d(TAG, "getTimestampDifference: getting timestamp difference");
  
              String difference = "";
              Calendar calendar = Calendar.getInstance();
              SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.US);
              simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/Chicago"));
              Date today = calendar.getTime();
              simpleDateFormat.format(today);
              Date timestamp;
              final String dateTime = simpleDateFormat.format(calendar.getTime());
              try {
                  timestamp = simpleDateFormat.parse(dateTime);
                  difference = String.valueOf(Math.round(((today.getTime() - timestamp.getTime()) / 1000 / 60 / 60 / 24)));
              } catch (ParseException e) {
                  difference = "0";
              }
              return difference;
  
          }
  
          private void getComments(String postid, final TextView comments) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Comments").child(postid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      comments.setText(dataSnapshot.getChildrenCount() + "");
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void eventLiked(String postid, final ImageView imageView) {
  
              final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
  
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Likes").child(postid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      if (dataSnapshot.child(firebaseUser.getUid()).exists()) {
                          imageView.setImageResource(R.drawable.ic_event_liked_aqua_fill);
                          imageView.setTag("liked");
                      } else {
                          imageView.setImageResource(R.drawable.ic_favorite_heart_hollow);
                          imageView.setTag("like");
                      }
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void addNotification(final String userid, final String postid) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Notifications").child(userid);
  
              HashMap&lt;String, Object&gt; hashMap = new HashMap&lt;&gt;();
  
              hashMap.put("userid", firebaseUser.getUid());
              hashMap.put("comment", "liked your Event");
              hashMap.put("postid", postid);
              hashMap.put("ispost", true);
  
              reference.push().setValue(hashMap);
          }
  
          private void number_of_likes(final TextView likes, String postid) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Likes").child(postid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      likes.setText(dataSnapshot.getChildrenCount() + "");
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void attending_event(String postid, final ImageView imageView) {
  
              final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
  
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Attending Event").child(postid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      if (dataSnapshot.child(firebaseUser.getUid()).exists()) {
                          imageView.setImageResource(R.drawable.ic_person_attending_event_light_green);
                          imageView.setTag("attending event");
                      } else {
                          imageView.setImageResource(R.drawable.ic_person_plus_black_attend_event);
                          imageView.setTag("attend event");
                      }
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void number_of_people_attending_event(final TextView number_of_people, String postid) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Attending Event").child(postid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      number_of_people.setText(dataSnapshot.getChildrenCount() + "");
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void publisherInfo(final ImageView image_profile, final TextView username, String userid) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);
  
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      User user = dataSnapshot.getValue(User.class);
                      Glide.with(mContext).load(user.getImageurl()).into(image_profile);
                      username.setText(user.getUsername());
  
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          private void isSaved(final String postid, final ImageView imageView) {
              FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
  
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Saves").child(firebaseUser.getUid());
              reference.addValueEventListener(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      if (dataSnapshot.child(postid).exists()) {
                          imageView.setImageResource(R.drawable.ic_bookmark_darker_version);
                          imageView.setTag("saved");
                      } else {
                          imageView.setImageResource(R.drawable.ic_save_hollow);
                          imageView.setTag("save");
                      }
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
  
          //Editing Event
          private void editPost(final String postid) {
              AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
              alertDialog.setTitle("Edit Event");
  
              final EditText editText = new EditText(mContext);
              LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(
                      LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
  
              editText.setLayoutParams(linearLayoutParams);
              alertDialog.setView(editText);
  
              getText(postid, editText);
  
              alertDialog.setPositiveButton("Edit",
                      new DialogInterface.OnClickListener() {
                          @Override
                          public void onClick(DialogInterface dialog, int which) {
  
                              HashMap&lt;String, Object&gt; hashMap = new HashMap&lt;&gt;();
                              hashMap.put("description", editText.getText().toString());
  
                              FirebaseDatabase.getInstance().getReference("Posts")
                                      .child(postid).updateChildren(hashMap);
                          }
                      });
              alertDialog.setNegativeButton("Cancel",
                      new DialogInterface.OnClickListener() {
                          @Override
                          public void onClick(DialogInterface dialog, int which) {
                              dialog.dismiss();
                          }
                      });
              alertDialog.show();
          }
  
          private void getText(String postid, final EditText editText) {
              DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Posts").child(postid);
              reference.addListenerForSingleValueEvent(new ValueEventListener() {
                  @Override
                  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                      editText.setText(dataSnapshot.getValue(Post.class).getDescription());
                  }
  
                  @Override
                  public void onCancelled(@NonNull DatabaseError databaseError) {
  
                  }
              });
          }
      }
  
  
  [![screenshot_timestamp][1]][1]
  
  
    [1]: https://i.stack.imgur.com/TZfI7.png
  
  
  </code></pre>