Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改Youtube数据API发布日期格式_Java_Android_Youtube Api_Androidx - Fatal编程技术网

Java 更改Youtube数据API发布日期格式

Java 更改Youtube数据API发布日期格式,java,android,youtube-api,androidx,Java,Android,Youtube Api,Androidx,我有一个Android应用程序,我使用Youtube数据API V3加载特定频道的内容。显示视频、视频标题和视频发布日期时,当前视频发布日期的格式为2015-01-21T11:20:27.751+00:00 如果可能的话,我想把它改成yyyy-MM-dd格式,非常感谢您的帮助。 日期代码如下所示 TextView textViewDate = holder.textViewDate; textViewDate.setText(object.getPublishedAt()); getPubli

我有一个Android应用程序,我使用Youtube数据API V3加载特定频道的内容。显示视频、视频标题和视频发布日期时,当前视频发布日期的格式为2015-01-21T11:20:27.751+00:00 如果可能的话,我想把它改成yyyy-MM-dd格式,非常感谢您的帮助。 日期代码如下所示

TextView textViewDate = holder.textViewDate;
textViewDate.setText(object.getPublishedAt());
getPublishedAt代码是从Youtube数据API加载的。

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

我将使用java.time使用DateTime的getValue对其进行如下转换:

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 8的java.time可用性取决于您的应用程序支持的API级别。您可以使用以支持低于26的级别。

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

我将使用java.time使用DateTime的getValue对其进行如下转换:

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 8的java.time可用性取决于您的应用程序支持的API级别。您可以使用以支持低于26的级别。

getPublishedAt返回什么类型?getPublishedAt返回什么类型?