Note the time needs to be transformed to GMT based on the timezone:
String[] dateTimeSplit = String.valueOf(assetActivity.get('actstart')
.getValue()).split(' ');
String[] dateSplit = dateTimeSplit[0].split('-');
String[] timeSplit = dateTimeSplit[1].split(':'); //you will have to write a function that converts the time to GMT based on the dateTimeSplit[2] literal
Datetime dt = DateTime.newInstanceGmt( Integer.valueOf(dateSplit[0]), Integer.valueOf(dateSplit[1]), Integer.valueOf(dateSplit[2]), Integer.valueOf(timeSplit[0]), Integer.valueOf(timeSplit[1]), 0);
system.debug('dt'+dt);
ts.Start_Time__c = dt;