首页 > 解决方案 > 更改 Youtube 数据 API PublishAt 日期格式

问题描述

我有一个 Android 应用程序,我使用 Youtube Data API V3 来加载某些频道内容。显示视频、视频标题和视频发布日期,当前视频发布日期以这种格式显示 2015-01-21T11:20:27.751+00:00 如果可能,我想将其更改为 yyyy-MM-dd 格式,您的帮助将不胜感激。日期代码如下。

TextView textViewDate = holder.textViewDate;
textViewDate.setText(object.getPublishedAt());

代码getPublishedAt()是从 Youtube Data API 加载的。

标签: javaandroidyoutube-apiandroidx

解决方案


由于该方法getPublishedAt()似乎返回 的实例com.google.api.client.util.DateTime,该实例没有仅日期表示,因此您可能必须对其进行转换。

我会使用这样getValue()DateTimeusing来转换它java.time

long epochMillis = object.getPublishedAt().getValue();
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(epochMillis),
                                                      ZoneId.systemDefault());
String date = zonedDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
textViewDate.setText(date);

您正在为 Android 编码,因此java.time(从 Java 8 开始)的可用性取决于您的应用程序支持的 API 级别。您可以使用ThreeTenABP来支持低于 26 的级别。


推荐阅读