LocalDateTime Error

#1

Hi,
I have the problem, that each Time I want to send my code with java.time.LocalDateTime includet it throws an Excepiton. Code without any Libarys works just fine. Want’s the Problem und how can I solve it?

#2

@Americanjoghurt ===
what is the exception???
can you put some code which reproduces the error?

#3
import java.time.LocalDateTime;

void setup() {
  fullScreen();
  background(255, 100, 0);
}

void draw() {
  Timer t = new Timer();

public  class Timer {

  boolean x;
  LocalDateTime Opentimer;
  LocalDateTime acttimer;
  public Timer() {

    Opentimer = LocalDateTime.of(2019, 5, 12, 12, 0, 0);
    acttimer = LocalDateTime.now();
    x = ueberschritten(acttimer, Opentimer);
  }
  public boolean  ueberschritten(LocalDateTime a, LocalDateTime b) {
    if (a.isAfter(b)) return true;
    return false;
  }
  public String Ausgabe(LocalDateTime a, LocalDateTime b) {
    int Day = b.getDayOfMonth() - a.getDayOfMonth();
    int Hour = b.getHour() -a.getHour();
    int Minute = b.getMinute() - a.getMinute();
    int sec = b.getSecond() - a.getSecond();
    if (sec < 0) {
      sec = sec +60;
      Minute--;
    }
    if (Minute < 0) {
      Minute = 60 +Minute;
      Hour--;
    }
    if (Hour < 0)
    { 
      Hour = Hour +24;
      Day--;
    }
    return "Noch "+Day+ " Tage " + Hour+" Stunden " +Minute + "Minuten und " + sec + " Sekunden !!";
  }
Exception: 
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDateTime;
	at processing.test.muttertagtest.Muttertagtest$Timer.<init>(Muttertagtest.java:51)
	at processing.test.muttertagtest.Muttertagtest.draw(Muttertagtest.java:29)
	at processing.core.PApplet.handleDraw(PApplet.java:1855)
	at processing.core.PSurfaceNone.callDraw(PSurfaceNone.java:476)
	at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:516)
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.time.LocalDateTime" on path: DexPathList[[zip file "/data/app/processing.test.muttertagtest-2/base.apk"],nativeLibraryDirectories=[/data/app/processing.test.muttertagtest-2/lib/arm, /system/lib, /vendor/lib]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
	... 5 more
#4

Please format your code with </> when posting to the forum.

Also, your draw and Timer are missing their closing }

FWIW the example code runs fine in PDE Java mode with those corrections.

#5

@Americanjoghurt ===
-as @jeremydouglass pointed out there are two missing brackets in your code
-as for the error it s probably caused by the fact that java.Time was added only for API 26 (Oreo)
-Anyway you can easily get hour and date with android using Calendar and creating some simple function:

import java.util.Locale;
import java.text.SimpleDateFormat;
import java.util.Calendar;

///////

void setup(){
String dateHeure = quelleDate();
println(dateHeure);
}
public static String quelleDate() {
        Calendar c = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy  - hh mm ", Locale.FRENCH);
        String strDate = sdf.format(c.getTime());
        // System.out.println("aujourdhui =======" +strDate);
        return strDate;
    }
1 Like