Java 如何从GPSDirectory获取日期?

Java 如何从GPSDirectory获取日期?,java,geolocation,Java,Geolocation,我正在编写一个java程序,该程序收集图像中的所有元信息(GPS:lat、long和date)(使用库metadata-extractor-2.6.4) 我得到的日期像“日期:15:45:26 UTC”。是否有任何方法以标准格式给出日期,如yyyy.MM.dd G'at'HH:MM:ss z 我试着用 gpsDir.getDate(GpsDirectory.TAG_GPS_DATE_STAMP), but it returns null 我试着用 getDate(GpsDirectory

我正在编写一个java程序,该程序收集图像中的所有元信息(GPS:lat、long和date)(使用库metadata-extractor-2.6.4)

我得到的日期像“日期:15:45:26 UTC”。是否有任何方法以标准格式给出日期,如yyyy.MM.dd G'at'HH:MM:ss z

我试着用

  gpsDir.getDate(GpsDirectory.TAG_GPS_DATE_STAMP), but it returns null 
我试着用

getDate(GpsDirectory.TAG\u GPS\u DATE\u STAMP),但它返回null

在for
getDate()
中,它说:“将指定标记的值作为java.util.Date返回。如果该值未设置或无法转换,则返回null。”因此,
gpsDir.getDate(GpsDirectory.tag\u GPS\u Date\u STAMP)
返回null,可能是因为您没有调用此行:

gpsDir.setDate(GpsDirectory.TAG_GPS_DATE_STAMP, myDate); 
是否有任何方法以标准格式给出日期,如yyyy.MM.dd G'at'HH:MM:ss z

可以,只需使用
SimpleDataFormat
。我还没有测试过这段代码,但应该可以:

final String OLD_FORMAT = "...";
final String NEW_FORMAT = "yyyy.MM.dd G at HH:mm:ss z";

String oldDateString = gpsDesc.getGpsTimeStampDescription();
String newDateString;

SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d = sdf.parse(oldDateString);
sdf.applyPattern(NEW_FORMAT);
newDateString = sdf.format(d);

你能提供到元数据提取器库的Javadoc的链接吗?谢谢Barney,我想收集与image一起存储的日期。
final String OLD_FORMAT = "...";
final String NEW_FORMAT = "yyyy.MM.dd G at HH:mm:ss z";

String oldDateString = gpsDesc.getGpsTimeStampDescription();
String newDateString;

SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d = sdf.parse(oldDateString);
sdf.applyPattern(NEW_FORMAT);
newDateString = sdf.format(d);