I am getting UTC timestamp from database which is I am setting into a JodaTime DateTime instance
DateTime dt = new DateTime(timestamp.getTime())
If your timestamp is: 2015-01-01T00:00:00.000-0500 (this is local time [for me])
Try this:
DateTime localDt = new DateTime(timestamp.getTime())
.withZoneRetainFields(DateTimeZone.UTC)
.withZone(DateTimeZone.getDefault());
2014-12-31T19:00:00.000-05:00
Breaking it down: This gives you a DateTime corresponding to your timestamp, specifying that it is in UTC:
new DateTime(timestamp.getTime())
.withZoneRetainFields(DateTimeZone.UTC)
2015-01-01T00:00:00.000Z
This gives you a DateTime but with the time converted to your local time:
new DateTime(timestamp.getTime())
.withZoneRetainFields(DateTimeZone.UTC)
.withZone(DateTimeZone.getDefault());
2014-12-31T19:00:00.000-05:00