following AD customization rule will tranformate AD atrtibute lastLogonTimestamp , whenChanged , whenCreated , pwdLastSet  to date format dd/mm/yyyy


 

import java.util.*;

import java.text.*;

import java.time.format.DateTimeFormatter;

import java.time.OffsetDateTime;

import java.io.Serializable;

import java.util.Calendar;

 

//log.error("------ start timestamp rule -------" );

try{

  String ep =object.getAttribute("lastLogonTimestamp");

  String wCh =object.getAttribute("whenChanged");

  String wCr =object.getAttribute("whenCreated");

  String pLs =object.getAttribute("pwdLastSet");

  

String cn = object.getAttribute("cn");

 

  if (ep !=null ){

    Date n=new Date();

    Long l;

    l = (Long.parseLong(ep)) /10000000L - 11644473600L;

    n = new Date();

    Date d = new Date(l*1000);

    DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

    String formatted = format.format(d);

    format.setTimeZone(TimeZone.getTimeZone("Israel"));

               //log.error("formatted1" + formatted);

    object.setAttribute("lastLogonTimestamp",formatted );

  }

  

  if(wCr != null)

               {

                              String whenCreatedStr = wCr;

                              SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

                              Date createdDate = null;

                              createdDate = sdf.parse(whenCreatedStr);

                 

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(createdDate);

    calendar.add(Calendar.HOUR_OF_DAY, 2);

 

    SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

                 String formatedDate  = sdf1.format(calendar.getTime() );

                              object.setAttribute("whenCreated",formatedDate);

    

               }

               

               if(wCh != null)

               {

                              String whenCreatedStr = wCh;

                              SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

                              Date changedDate = null;

                              changedDate = sdf.parse(whenCreatedStr);

    

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(changedDate);

    calendar.add(Calendar.HOUR_OF_DAY, 2);

 

                   SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

       //   sdf1.setTimeZone(TimeZone.getTimeZone("Israel"));

                   String formatedDate  = sdf1.format(calendar.getTime() );

               

    object.setAttribute("whenChanged",formatedDate);     

               }

  

 

  if (pLs !=null && !(pLs.equals("0"))){

    Date n=new Date();

    Long l;

    l = (Long.parseLong(pLs)) /10000000L - 11644473600L;

    n = new Date();

    Date d = new Date(l*1000);

    DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

    String formatted = format.format(d);

    format.setTimeZone(TimeZone.getTimeZone("Israel"));

               object.setAttribute("pwdLastSet",formatted );

  }

  

}

catch (Exception e){

    return object;

}

return object;