Java tutorial
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.glaf.core.web; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import org.apache.commons.lang3.StringUtils; public class DateConvertEditor extends PropertyEditorSupport { private SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); public void setAsText(String text) { if (StringUtils.isNotEmpty(text)) { try { if (text.indexOf(":") == -1 && text.length() == 10) { setValue(this.dateFormat.parse(text)); } else if (text.indexOf(":") > 0 && text.length() == 19) { setValue(this.datetimeFormat.parse(text)); } else if (text.indexOf(":") > 0 && text.length() == 21) { text = text.replace(".0", ""); setValue(this.datetimeFormat.parse(text)); } else { throw new RuntimeException("Could not parse date, date format is error."); } } catch (ParseException ex) { throw new RuntimeException("Could not parse date", ex); } } else { setValue(null); } } }