Oozie web console(版本oozie-3.2.0-incubating)显示的时间是GMT,始终跟北京时间差8个小时,且格式不好看,通过修改$OOZIE_HOME/oozie-server/webapps/oozie/oozie-console.js可以将时间本地化(此修改只涉及web console显示,不影响任何后端处理、日志等)
1、增加函数getLocalTime
function getLocalTime(time){
var d=new Date();
d.setTime(Date.parse(time));
var s=d.getFullYear()+"-"+d.getMonth()+"-"+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
return s;
}
2、将所有涉及时间显示的地方调用getLocalTime,如:startTime
//fields: ['id', 'name', 'type', 'startTime', 'retries', 'consoleUrl', , 'externalId', 'status', 'trackerUri', 'workflowId', 'errorCode', 'errorMessage', 'conf', 'transition', 'externalStatus']
});
fields: ['id', 'name', 'type', {name:'startTime',convert:getLocalTime}, 'retries', 'consoleUrl', 'endTime', 'externalId', 'status', 'trackerUri', 'workflowId', 'errorCode', 'errorMessage', 'conf', 'transition', 'externalStatus']
});
{
fieldLabel: 'Start Time',
editable: false,
name: 'startTime',
width: 200,
//value: jobDetails["startTime"]
value: getLocalTime(jobDetails["startTime"])
},
//fields: ['coordJobId', 'coordJobName', 'status', 'user', 'group', 'frequency', 'timeUnit', {name: 'startTime', sortType: Ext.data.SortTypes.asDate}, {name: 'nextMaterializedTime', sortType: Ext.data.SortTypes.asDate}],
fields: ['coordJobId', 'coordJobName', 'status', 'user', 'group', 'frequency', 'timeUnit', {name: 'startTime', sortType: Ext.data.SortTypes.asDate,convert:getLocalTime}, {name: 'nextMaterializedTime', sortType: Ext.data.SortTypes.asDate}],
修改后效果如下: