Change date format who is stored in text field
我有一个显示
我不想在数据库结构中触摸某些东西来改变日期的存储方式。 我确切地说我无法访问这个远程服务器的html但是我可以通过将代码放在JS文件中来修改某些字段。
我在这里看到了一些论坛,但我没有找到解决方案,由于我的javascript知识不足,我被困住了。 谢谢。
使用内置的javascript函数来构建所需的格式。 将字符串解析为日期对象,并使用以下函数创建所需的格式
1 2 3 | getDate() -> to get date getMonth() -> to get month getFullYear() -> to get year |
例
1 2 3 4 5 6 7 8 9 10 | //var birth_date = document.getElementById('birth_date'); //use birth_date instead of hard coded date //var day = new Date(Date.parse(birth_date)); var day = new Date(Date.parse("2013-09-02")); alert(day.getDate() +"-" + day.getMonth() +"-" + day.getFullYear()); //set value document.getElementById('birth_date').value = day.getDate() +"-" + day.getMonth() +"-" + day.getFullYear(); |
的jsfiddle
您可以捕获表单提交事件并在发送之前更改值:
假设您有一个
1 | var form = document.getElementById('myForm'); |
要抓住提交:
1 2 3 4 5 | try { form.addEventListener("submit", changeValue, false); } catch(e) { form.attachEvent("onsubmit", changeValue); //Internet Explorer 8- } |
现在,您可以在适当的位置更改所需的值。
1 2 3 4 | function changeValue(){ var field = document.getElementById('idOfField'); field.value = field.value.split('-').reverse().join('-'); } |
好吧,我们可以使用简单的javascript函数来做到这一点。
我们只需要传递服务器日期(YYYY-MM-DD),它将返回预期日期(DD-MM-YYYY)格式。
1 2 3 4 5 6 7 8 | function convertDate(serverDate) { var dateCollection = serverDate.match(/\d+/g), year = dateCollection[0], month = dateCollection[1], day = dateCollection[2]; return day + '-' + month + '-' + year; } |
例:-
1 | convertDate('2013-09-02'); // (YYYY-MM-DD) format |
输出: -
1 | '02-09-2013' //(DD-MM-YYYY) format |
希望对你有帮助...
假设你有一个字符串
1 2 3 4 | var my_date = s.split('-'); var year = my_date[0]; var month = my_date[1]; var day = my_date[2]; |
然后,您可以在下面显示字符串(或以您希望的任何格式组织日,月和年):
1 | var display_str = '' + day + '-' + month + '-' + year; |