Salesforce Convert GMT To Locale User Time Zone

Sample Code:

Datetime currentDT = Datetime.now();
Integer offset = UserInfo.getTimezone().getOffset(currentDT);
Datetime localeCurrentDT = currentDT.addSeconds(offset/1000);

System.debug('currentDT-' + currentDT);
System.debug('localeCurrentDT-' + localeCurrentDT);