我有使用const struct tm myTimeInfo
操作的JNI方法。最后,我想将结果返回给Java。但是,我无法直接返回Date
。到目前为止,我将struct tm
转换为jstring
,并将java转换为Date
,这似乎很奇怪。有没有办法如何直接返回Date
填充struct tm
?
我目前的解决方案如下:
JNIEXPORT jstring JNICALL package_getTimeLineEndUTC(JNIEnv *env, jobject thiz) {
const struct tm timeInfo = generateTime();
return env->NewStringUTF(asctime(&timeInfo));
}
答案 0 :(得分:2)
除了返回一个字符串,你可以返回long
,即自纪元以来毫秒:
const struct tm timeInfo = generateTime();
return mktime(&timeInfo) * 1000;
然后在java端使用Date(long date)
。