如何将firebase时间戳转换为字符串Android
保存在FirestoredAtabase中,并且我得到了这样创建的时间:
date datahorario = calendar.getInstance()。getTime()。
我正在将一些出版物 时间戳记格式,像这样:
当我尝试返回此特定字段以在应用中显示时,我会收到以下错误:
java.lang.runtimeException:无法应对对象。无法将com.google.firebase.timestamp类型的值转换为字符串(在field'datahorario'中找到)
这是我的java帖子。
package com.example.miratown;
import android.widget.ImageView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Posts {
String descricao, titulo, categoria, fotourl, latitude, longitude, anonimo, pais, estado, cidade, endereco, usuario, datahorario;
public Posts(){}
public Posts( String datahorario, String descricao, String titulo, String categoria, String fotourl, String latitude, String longitude, String anonimo, String pais, String estado, String cidade, String endereco, String usuario) {
this.titulo = titulo;
this.descricao = descricao;
this.categoria = categoria;
this.fotourl = fotourl;
this.latitude = latitude;
this.longitude = longitude;
this.anonimo = anonimo;
this.datahorario = datahorario;
this.pais = pais;
this.estado = estado;
this.cidade = cidade;
this.endereco = endereco;
this.usuario = usuario;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getCategoria() {
return categoria;
}
public String getLatitude() {
return latitude;
}
public String getLongitude() {
return longitude;
}
public String getAnonimo() {
return anonimo;
}
public String getDatahorario() {return datahorario; }
public String getPais() {
return pais;
}
public String getEstado() {
return estado;
}
public String getCidade() {
return cidade;
}
public String getEndereco() {
return endereco;
}
public String getUsuario() {
return usuario;
}
public String getFotourl() {
return fotourl;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public void setFotourl(String fotourl) {
this.fotourl = fotourl;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public void setAnonimo(String anonimo) {
this.anonimo = anonimo;
}
public void setDatahorario(String datahorario) { this.datahorario = datahorario; }
public void setPais(String pais) {
this.pais = pais;
}
public void setEstado(String estado) {
this.estado = estado;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}
无法将com.google.firebase.timestamp类型的值 我的文本视图中的价值?
谢谢。
I'm saving some publications in the FireStoreDataBase and I get the time when the post is created like this:
Date datahorario = Calendar.getInstance().getTime();
This info is saved in the database in the timestamp format, like this:
When I try to return this specific field to display in the APP, I receive the following error:
java.lang.RuntimeException: Could not deserialize object. Failed to convert value of type com.google.firebase.Timestamp to String (found in field 'datahorario')
This is my java Posts.class:
package com.example.miratown;
import android.widget.ImageView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Posts {
String descricao, titulo, categoria, fotourl, latitude, longitude, anonimo, pais, estado, cidade, endereco, usuario, datahorario;
public Posts(){}
public Posts( String datahorario, String descricao, String titulo, String categoria, String fotourl, String latitude, String longitude, String anonimo, String pais, String estado, String cidade, String endereco, String usuario) {
this.titulo = titulo;
this.descricao = descricao;
this.categoria = categoria;
this.fotourl = fotourl;
this.latitude = latitude;
this.longitude = longitude;
this.anonimo = anonimo;
this.datahorario = datahorario;
this.pais = pais;
this.estado = estado;
this.cidade = cidade;
this.endereco = endereco;
this.usuario = usuario;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getCategoria() {
return categoria;
}
public String getLatitude() {
return latitude;
}
public String getLongitude() {
return longitude;
}
public String getAnonimo() {
return anonimo;
}
public String getDatahorario() {return datahorario; }
public String getPais() {
return pais;
}
public String getEstado() {
return estado;
}
public String getCidade() {
return cidade;
}
public String getEndereco() {
return endereco;
}
public String getUsuario() {
return usuario;
}
public String getFotourl() {
return fotourl;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public void setFotourl(String fotourl) {
this.fotourl = fotourl;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public void setAnonimo(String anonimo) {
this.anonimo = anonimo;
}
public void setDatahorario(String datahorario) { this.datahorario = datahorario; }
public void setPais(String pais) {
this.pais = pais;
}
public void setEstado(String estado) {
this.estado = estado;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}
How is the correct way to convert the TimeStamp value receveid from FireBase to a String before presenting the value in my TextView?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如错误消息所说:
因此firebase sdk无法从数据库中
timestamp
值从数据库中进行估算为字符串datahorario
您在课堂中拥有的字段。您应该将
datahorario
字段声明为Javadate
或Firestore特定的TIMESTAMP
。As the error message says:
So the Firebase SDK is not able to deserialize the
Timestamp
value from the database into the stringdatahorario
field that you have in your class.You should declare the
datahorario
field as either a JavaDate
or a Firestore-specificTimestamp
.