Android Firebase时间戳显示整数

Android Firebase时间戳显示整数,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在使用firebase查看时间戳,在我将存储的时间戳保存到firebase中后,问题是如何将整数值转换为正确的值,如“1小时” 当我检索时间戳时,它会得到整数,例如:“1487330278409” 这是我的值,名为“creationDate” 如何获取时间戳例如:3小时前,1天,现在 这是我的碎片 公共类挑战扩展了碎片{ private RecyclerView mPostList; private DatabaseReference mDatabase,mDatabaseFriends,

我正在使用firebase查看时间戳,在我将存储的时间戳保存到firebase中后,问题是如何将整数值转换为正确的值,如“1小时”

当我检索时间戳时,它会得到整数,例如:“1487330278409”

这是我的值,名为“creationDate”

如何获取时间戳例如:3小时前,1天,现在

这是我的碎片

公共类挑战扩展了碎片{

private RecyclerView mPostList;
private DatabaseReference mDatabase,mDatabaseFriends,mDatabaseLike;
private SwipeRefreshLayout mRefreshLayout;
private boolean mProcessLike = false;
private String AA;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mListener;
private Query mQuery;
private FirebaseUser mCurrentUser;
public Challenges() {}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MultiDex.install(getActivity());}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v= inflater.inflate(R.layout.challenges, container, false);
    mListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            final FirebaseUser User = firebaseAuth.getCurrentUser();
            if (User == null) {
                Intent A = new Intent(getActivity(), Login.class);
                startActivity(A);}}};

    mPostList=(RecyclerView)v.findViewById(R.id.PostList);
    mPostList.setHasFixedSize(true);
    mPostList.setItemAnimator(new DefaultItemAnimator());
    mPostList.setLayoutManager(new LinearLayoutManager(getActivity()));

    //AA = getActivity().getIntent().getExtras().getString("QQ");

    //Firebase
    mDatabase= FirebaseDatabase.getInstance().getReference().child("Posts");
    mDatabaseFriends= FirebaseDatabase.getInstance().getReference().child("Friends");
    mDatabaseLike = FirebaseDatabase.getInstance().getReference().child("Likes");
    mDatabase.keepSynced(true);
    mDatabaseLike.keepSynced(true);
    mAuth = FirebaseAuth.getInstance();
    mCurrentUser = mAuth.getCurrentUser();
    mRefreshLayout=(SwipeRefreshLayout)v.findViewById(R.id.RefreshLayout);
    //mQuery = mDatabase.orderByChild("UID").equalTo(String.valueOf(mDatabaseFriends.child(mCurrentUser.getUid()).child("Accepted")));
    mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            onStart();}});

    return v;}

@Override
public void onStart() {
    super.onStart();

    mAuth.addAuthStateListener(mListener);
    mRefreshLayout.setRefreshing(true);
    final FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder>(
            Getting_Posts.class, R.layout.post_card_design, PostViewHolder.class, mDatabase) {
        @SuppressLint("SetTextI18n")
        @Override
        protected void populateViewHolder(final PostViewHolder viewHolder, final Getting_Posts model, int position) {

            final String Post_Key = getRef(position).getKey();
            viewHolder.mView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent A = new Intent(getActivity(), com.pcsoftgroup.test.activities.Single_view.class);
                    A.putExtra("Key", Post_Key);
                    startActivity(A);}
            });

            viewHolder.setUsername(model.getUsername());
            viewHolder.setProfile(getActivity().getApplicationContext(), model.getProfile());
            viewHolder.setDescribe(model.getDescribe());
            viewHolder.setWallpaper(getActivity().getApplicationContext(), model.getWallpaper());   
            viewHolder.setLike(Post_Key);
            viewHolder.setLikeNum(Post_Key);
            viewHolder.setCommentNum(Post_Key);
            viewHolder.mPostTime.setText(model.getTime());
            //viewHolder.mPostTime.setText(model.getDate());
            //viewHolder.mPostATime.setText(model.getTime());

            viewHolder.mLike.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mProcessLike = true;
                    mDatabaseLike.addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            if (mProcessLike) {
                                if (dataSnapshot.child(Post_Key).hasChild(mCurrentUser.getUid())) {
                                    mDatabaseLike.child(Post_Key).child(mCurrentUser.getUid()).removeValue();
                                    mProcessLike = false;
                                } else {
                                    mDatabaseLike.child(Post_Key).child(mCurrentUser.getUid()).setValue("LIKED");
                                    mProcessLike = false;
                                }
                            }
                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {
                        }
                    });
                }
            });

            viewHolder.mShare.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent sendIntent = new Intent();
                    sendIntent.setAction(Intent.ACTION_SEND);
                    //sendIntent.putExtra(Intent.EXTRA_TEXT,viewHolder.mComment.getText().toString());
                    sendIntent.setType("text/plain");
                    Intent.createChooser(sendIntent, "Share via");
                    startActivity(sendIntent);
                }
            });

            mRefreshLayout.setRefreshing(false);
            mRefreshLayout.setEnabled(true);
        }
    };

    mPostList.setAdapter(firebaseRecyclerAdapter);}

public static class PostViewHolder extends RecyclerView.ViewHolder{
    //Main
    View mView;
    ImageButton mLike;
    ImageButton mCommentBtn;
    ImageButton mShare;
    //Firebase
    TextView mPostTime;
    TextView mPostATime;
    FirebaseAuth mAuth;
    FirebaseUser mCurrentUser;
    DatabaseReference mDatabaseLike;
    DatabaseReference mDatabaseComment;
    public PostViewHolder(View itemView) {
        super(itemView);
        //Main
        mView=itemView;
        mPostATime = (TextView) mView.findViewById(R.id.PostATime);
        mLike=(ImageButton) mView.findViewById(R.id.PostLike);
        mCommentBtn = (ImageButton) mView.findViewById(R.id.PostCommentBtn);
        mShare = (ImageButton) mView.findViewById(R.id.PostShare);
        mPostTime = (TextView) mView.findViewById(R.id.PostTime);
        //Firebase
        mAuth =FirebaseAuth.getInstance();
        mCurrentUser=mAuth.getCurrentUser();
        mDatabaseComment = FirebaseDatabase.getInstance().getReference().child("Comments");
        mDatabaseLike= FirebaseDatabase.getInstance().getReference().child("Likes");
        mDatabaseLike.keepSynced(true);
        mDatabaseComment.keepSynced(true);
       }

    //Like
    void setLike(final String Post_Key){
        mDatabaseLike.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.child(Post_Key).hasChild(mCurrentUser.getUid())){
                    mLike.setImageResource(R.drawable.like_icon);
                }else {mLike.setImageResource(R.drawable.unlike_icon);}}

            @Override
            public void onCancelled(DatabaseError databaseError) {}});}

    void setLikeNum(final String Post_Key){
        mDatabaseLike.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String A = String.valueOf(dataSnapshot.child(Post_Key).getChildrenCount());
                TextView PostLikeNum = (TextView) mView.findViewById(R.id.PostLikeNum);
                PostLikeNum.setText(A);}

            @Override
            public void onCancelled(DatabaseError databaseError) {}});}

    void setCommentNum(final String Post_Key){
        mDatabaseComment.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String C = String.valueOf(dataSnapshot.child(Post_Key).getChildrenCount());
                TextView PostCommentNum = (TextView) mView.findViewById(R.id.PostCommentNum);
                PostCommentNum.setText(C);}

            @Override
            public void onCancelled(DatabaseError databaseError) {}});}

    //Username
    public void setUsername(String Username){
        TextView PostUsername = (TextView) mView.findViewById(R.id.PostUsername);
        PostUsername.setText(Username);}

   //Profile
    void setProfile(Context ctx2, String Profile){
        ImageView PostProfile = (ImageView) mView.findViewById(R.id.PostUserImage);
        if (Profile == null){PostProfile.setVisibility(View.VISIBLE);}
        else {PostProfile.setVisibility(View.VISIBLE);
            Picasso.with(ctx2).load(Profile).resize(120,120).into(PostProfile);}}

    //Describe
    void setDescribe(String Describe){
        TextView PostDescribe = (TextView) mView.findViewById(R.id.PostDesc);
        PostDescribe.setText(Describe);}


    //Image Load
    void setWallpaper(Context ctx, String Image){
        ImageView PostWallpaper = (ImageView) mView.findViewById(R.id.PostWallpaper);
        if (Image == null){PostWallpaper.setVisibility(View.VISIBLE);}
        else {
            PostWallpaper.setVisibility(View.VISIBLE);
        Picasso.with(ctx).load(Image).resize(1200,600).into(PostWallpaper);}}
}}

请提供任何帮助

检索到的值是一个长值,表示从历元时间起经过的毫秒数

您可以在日期对象内设置此选项,并获得正常的人类可读版本:

Date currentDate = new Date(your_retreived_long_timestamp);

System.out.println(currentDate);
currenttimestamp long值和旧时间戳之间的差值将给出自旧值以来经过的时间

例如:如果currenttimestamp-oldtimestamp=60000

它显示oldtimestamp发生在一分钟前(60秒*1000),类似地,根据需要查找其他值


然后,您可以使用当前时间和获得的时间,自己找出差异。

谢谢Kushan…但您能解决我的问题吗…我已经添加了getter和setter java以及我的活动,因此您能给我正确的解决方案吗,因为我不知道时间戳,所以请做您最好的兄弟…请帮助我。。
Date currentDate = new Date(your_retreived_long_timestamp);

System.out.println(currentDate);