Я предоставляю ввод даты в формате MM / dd / yyyy, формат дает неправильную дату в пользовательском интерфейсе, это происходит только с форматом MM / dd / yyyy, однако он работает нормально, если ввод будет в dd / MM / yyyy.
например: если сегодняшняя дата 04/08/2020, то она отображается как 07/09/2021, что, конечно, неверная дата
Приложение, использующее extjs3 в качестве внешнего интерфейса и поэтому выбор даты.
function insSKUDate(element,textElement,img){
var selectHandler = function(myDP, date) {
var field = document.getElementById(textElement);
field.value = date.format('m/d/Y');
field.text = date.format('m/d/Y');
dateField = document.getElementById(textElement);
myDP.hide();
};
var myDP = new Ext.DatePicker(
{
startDay: 1,
minDate: new Date(),
listeners: {
'select':selectHandler
}
}
);
var innerdata = document.getElementById(element);
innerdata.innerHTML="";
myDP.render(element);
var clickHandler = function() {
myDP.show();
};
Ext.EventManager.on(img.id, 'click', clickHandler);
}
где-то в HTML форме
Где-то в execute () моих Struts
public String getSkulaunchDate() {
return skulaunchDate;
}
public void setSkulaunchDate(String skulaunchDate) {
this.skulaunchDate = skulaunchDate;
}
if (bean.getSkulaunchDate() != null)
setSkulaunchDate(dateUtil.getSQLDateToString(bean.getSkulaunchDate(), "MM/dd/yyyy"));//Replace dd/MM/yyyy to MM/dd/yyyy
// setSkulaunchDate(getSkuLaunchDateStrFormat(bean,dateUtil));//Replace dd/MM/yyyy to MM/dd/yyyy
System.out.println("3.getSkulaunchDate----"+ getSkulaunchDate());
setContactPersonName(bean.getContactPersonName());
setContactPersonPosition(bean.getContactPersonPosition());
setContactPersonEmail(bean.getContactPersonEmail());
setContactPersonNumber(bean.getContactPersonNumber());
setRemarks(bean.getRemarks());
setTpRemarks(bean.getTpRemarks());
try {
if(request_bean.getRequestDate() != null){
setRequest_date(dateUtil.getUtilDateToString(request_bean.getRequestDate(), "MM/dd/yyyy"));//Replace dd/MM/yyyy to MM/dd/yyyy
}
} catch (Exception ex) {
logger.error(ex.getStackTrace());
}
У меня есть сомнения по поводу приведенного ниже метода, но он выглядит нормально
public String getSQLDateToString(java.sql.Date date, String format) {
String result = null;
try {
result = new SimpleDateFormat(format).format(date);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
Обнаружено, что ввод находится в дате SQL с некоторыми проблема во время синтаксического анализа, кроме этой даты утилиты работает нормально. пожалуйста, предложите мне решение, чтобы исправить это.