在Firestore的android studio上设置伦敦时区

在Firestore的android studio上设置伦敦时区,android,google-cloud-firestore,Android,Google Cloud Firestore,我正在用回收视图从firestore归还我的文档。这些文档返回的时间与在Firestore上设置的时间不同。我想把这些时间安排到伦敦。这是我从Firestore检索时间戳的代码 @Override protected void onBindViewHolder(@NonNull SessionHolder holder, int position, @NonNull Session model) { holder.textViewModule.setText(model.getMod

我正在用回收视图从firestore归还我的文档。这些文档返回的时间与在Firestore上设置的时间不同。我想把这些时间安排到伦敦。这是我从Firestore检索时间戳的代码

 @Override
protected void onBindViewHolder(@NonNull SessionHolder holder, int position, @NonNull Session model) {

    holder.textViewModule.setText(model.getModule());
    holder.textViewTitle.setText(model.getTitle());
    holder.textViewDate.setText(model.getDate());
    holder.textViewStart.setText(model.getDate());
    holder.textViewStart.setText(String.valueOf(model.getStartTime()));
    holder.textViewEnd.setText(String.valueOf(model.getEndTime()));
    //holder.textViewID.setText(model.getDocumentID());


}

您可以像这样设置伦敦时区,然后使用它格式化日期和时间

TimeZone timezone = TimeZone.getTimeZone("Europe/London");
formatter.setTimeZone(timeZone);
java.sql.Time timeValue = new java.sql.Time(formatter.parse(String.valueOf(model.getStartTime())).getTime())

这是所有可用的列表。

另外,我应该在哪里将其添加到代码中。它将不接受此代码。如果您想更改时区,请添加此代码。我正在从Cloud Firestore检索这些值,并且只能使用String.valueOf检索这些值。因此,我将此代码放在何处?然后您需要将字符串转换为日期时间格式Firebase将返回一个字符串(格式为日期时间)。Anubhav的答案是让您将该字符串传递到他上面编写的代码中(startDate变量)。然后将时区设置为伦敦。他的代码可以放在你选择的任何地方。您可以在模型的getStartTime()和getEndTime()中实现它,因此如果需要,它将始终返回正确的时区。您只需要确保他提供的SimpleDataFormat与Firebase的格式相匹配。