我一直在尝试获取android系统中某个包的第一次安装时间! (第三方应用程序)我使用包信息来获取详细信息,并从中获取日期和时间,FirstInstallTime()方法。但它返回一个我不知道转换的日志值!任何人都可以帮助我将这个值转换为日期时间值!第一个应用程序安装时间
谢谢。
我一直在尝试获取android系统中某个包的第一次安装时间! (第三方应用程序)我使用包信息来获取详细信息,并从中获取日期和时间,FirstInstallTime()方法。但它返回一个我不知道转换的日志值!任何人都可以帮助我将这个值转换为日期时间值!第一个应用程序安装时间
谢谢。
经典永远不会过时:)
private String getDateTime() {
// get date time in custom format
SimpleDateFormat sdf = new SimpleDateFormat("[yyyy/MM/dd - HH:mm:ss]");
return sdf.format(new Date(appInfo.firstInstallTime));
}
这只是一个长期存储的日期,没有魔法只是从它创建一个日期。
Date firstInstallTime = new Date(pInfo.firstInstallTime);
如果越来越长型的时间....请尝试以下...
public class Chk {
public static void main(String[] args){
Long l = System.currentTimeMillis();
System.out.println("Time in long: "+l);
System.out.println(new Date(l));
}
}
PackageInfo.firstInstallTime给你的安装时间为“Unix时间”(自以来的时间(以毫秒为单位)epo ch“,即1970年1月1日00:00:00 UTC)。您可以使用java.util.Date或java.text.DateFormat来格式化此时间。
private static final String TAG = "MyActivity";
...
packageName = ...
...
try {
PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
Date installTime = new Date(packageInfo.firstInstallTime);
Log.d(TAG, "Installed: " + installTime.toString());
Date updateTime = new Date(packageInfo.lastUpdateTime);
Log.d(TAG, "Updated: " + updateTime.toString());
}
catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
您还可以用java.text.SimpleDateFormat更改日期格式。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String installTime = dateFormat.format(new Date(packageInfo.firstInstallTime));
Log.d(TAG, "Installed: " + installTime);
String updateTime = dateFormat.format(new Date(packageInfo.lastUpdateTime));
Log.d(TAG, "Updated: " + updateTime);