从客户端 [GWT] 到服务器端 [Spring ] 的对象发送日期之间的时间差
Time lag between date send in object from client side [GWT] to server side [Spring ]
我有 CellEditor,我想在其中编辑日期:
public interface Driver extends SimpleBeanEditorDriver<EditVO, ClassEditor> {
}
@UiField
DateBox date;
private final Driver driver;
@Inject
ClassEditor(Binder uiBinder,
Driver driver) {
this.driver = driver;
initWidget(uiBinder.createAndBindUi(this));
driver.initialize(this);
DateTimeFormat dateFormat = DateTimeFormat.getFormat("dd/mm/yyyy);
date.setFormat(new DateBox.DefaultFormat(dateFormat));
}
@Override
public void edit(DossierEditVO object) {
driver.edit(object);
}
@Override
public EditVO get() {
EditVO object = driver.flush();
if (!driver.hasErrors()) {
return object;
}
return null;
}
我在 class EditVO 中有日期,在控制器中我有:
@RequestMapping(method = RequestMethod.PUT)
GetResult<Boolean> updateDossier(@RequestBody EditVO dossierEditVO) {
//call service
}
我遇到的问题是当我 select 我想编辑的日期时,例如:11/10/2015,我在客户端调试:Sun Oct 11 00:00:00 GMT +100 2015
在服务器端,我得到:Sun Oct 10 23:00:00 UTC 2015。这就像在客户端和服务器端之间获得 2 小时的时间标签。
有什么帮助吗?
如果您不指定时区,Java将在打印日期时使用系统时区。您的客户端和服务器有不同的时区。
我有 CellEditor,我想在其中编辑日期:
public interface Driver extends SimpleBeanEditorDriver<EditVO, ClassEditor> {
}
@UiField
DateBox date;
private final Driver driver;
@Inject
ClassEditor(Binder uiBinder,
Driver driver) {
this.driver = driver;
initWidget(uiBinder.createAndBindUi(this));
driver.initialize(this);
DateTimeFormat dateFormat = DateTimeFormat.getFormat("dd/mm/yyyy);
date.setFormat(new DateBox.DefaultFormat(dateFormat));
}
@Override
public void edit(DossierEditVO object) {
driver.edit(object);
}
@Override
public EditVO get() {
EditVO object = driver.flush();
if (!driver.hasErrors()) {
return object;
}
return null;
}
我在 class EditVO 中有日期,在控制器中我有:
@RequestMapping(method = RequestMethod.PUT)
GetResult<Boolean> updateDossier(@RequestBody EditVO dossierEditVO) {
//call service
}
我遇到的问题是当我 select 我想编辑的日期时,例如:11/10/2015,我在客户端调试:Sun Oct 11 00:00:00 GMT +100 2015
在服务器端,我得到:Sun Oct 10 23:00:00 UTC 2015。这就像在客户端和服务器端之间获得 2 小时的时间标签。
有什么帮助吗?
如果您不指定时区,Java将在打印日期时使用系统时区。您的客户端和服务器有不同的时区。