问题

ConversionException: Could not convert '2017-8-28 0:00:00' to java.util.Date
  at com.vaadin.data.util.converter.StringToDateConverter.convertToModel(StringToDateConverter.java:78)

  开发中遇到这样的一个问题,日期转换出错。
  使用的是cuba框架,数据库日期并非保存在一个单独的Date字段中,而是保存在一个json串中。
  刚开始保存格式为 "{code_act_Date2}":"2017-8-29 0:00:00" ,在本地是没有问题的,但是在Linux服务器上报了以上错误
  让使用Ubuntu系统进行开发的同事进行测试,也不会报错,排除了系统原因。

解决思路

  这个框架的日期控件转换比较奇葩,不是使用日期格式化转换的,而是直接new Date()转换。
  后来把保存格式修改为 "{code_act_Date2}":"Thu Sep 21 00:00:00 CST 2017",在服务器上也不会报错了。

  如下测试:

String str = "2017-7-31 0:00:00";
Date date = new Date(str);
System.out.println(date);/* 输出:Exception in thread "main" java.lang.IllegalArgumentExceptionat java.util.Date.parse(Date.java:617)at java.util.Date.<init>(Date.java:274)at cn.com.dataocean.cip.web.Test4.main(Test4.java:28) */String str = "Thu Sep 21 00:00:00 CST 2017";
Date date = new Date(str);
System.out.println(date);/* 输出:Thu Sep 21 14:00:00 CST 2017 */

实现方式

//在Cuba中FieldGroup 绑定页面Date控件方法
PropertysetItem item = new PropertysetItem();
item.addItemProperty("{code_act_Date2}",new DateField());
FieldGroup fieldGroup = new FieldGroup(item);
DateField webDateField= new DateField();
webDateField.setDateFormat("yyyy年MM月dd日");
fieldGroup.bind(webDateField, "{code_act_Date2}");//从数据库中取出值转换到页面的时候转换的时候,需要类似一下代码
if (propertysetItem.getItemProperty(key).getType() == Date.class) {Date date = new Date((String) mapValues.get(key));propertysetItem.getItemProperty(key).setValue(date);
}//如果需要手动从WebDateField 转换成之前的那种日期格式如下:
return webDateField.getDateField().getValue().toString();//从日期格式转换为日期就是之前的那种
Date date = new Date(str);

  相关链接:http://www.cnblogs.com/acm-bingzi/p/cubaFieldGroup.html

原问题再分析

  服务器上报错的那段代码打上断点,在本地进行断点尝试,本地并没有报错,如下:


  在服务器上报错的原因,可能是因为locale这些值不是zh之类的。不过纠结于这里,不如按照上面的方法修改来的彻底。

  日期类型存储成字符串类型的格式最好是"Thu Sep 21 00:00:00 CST 2017",因为可以直接使用new Date(str); 的方式进行转换,而不需要格式化。


发现直接使用new Date()这个方法,会导致有些日期显示的时候,增加一天。这是由于new Date()这个方法本身的计算错误导致的,所以这里应该使用日期格式化来解决,而不是之前的那种方式

参考:http://www.cnblogs.com/acm-bingzi/p/newDate.html

日期类型存储成字符串类型的格式问题相关推荐

  1. php将变量转成字符串类型

    strval 将变量转成字符串类型. 语法: string strval(mixed var); 返回值: 字符串 函数种类: PHP 系统功能 内容说明: 本函数可将数组及类之外的变量类型转换成字符 ...

  2. 数字类型转换成字符串类型并逆序输出

    比如将a = 123456转换成字符串类型,并逆序输出为char b = 654321 具体实现如下: #include <stdio.h> #include <conio.h> ...

  3. python转化成字符串_如何利用Python将其他数据类型转换成字符串类型

    Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...

  4. php 检查字符串类型,PHP之字符串类型与检验

    1.前言 PHP的字符串是基础的重点,因此掌握字符串的一些定义和函数,有助于我们更好的开发. 2.基本语法表达方式 2.1单引号 该表达方式不能解析变量,但能够解析转义符\'和\\ 2.2双引号 能够 ...

  5. java 类似xamarin_xamarin android如何将Java.Lang.Object类型转成C#类型

    问题起源 其实这个标题也可以换一个更准确一点,因为我遇到的问题是: xamarin android中的Class继承了Java.Lang.Object ,将json序列化成c#类型时发现无法赋值,序列 ...

  6. 当要将其他类型转成String类型时候 看String的方法

    当要将其他类型转成String类型时候 看String的方法进行转换 转载于:https://www.cnblogs.com/classmethond/p/10100877.html

  7. mysql clob转varchar_如何将Clob类型改成Varchar类型?

    你的位置: 问答吧 -> Oracle -> 问题详情 如何将Clob类型改成Varchar类型? 我从Mysql 导入到oracle数据表,以前的Mysql用的text类型的变成clob ...

  8. mysql 将字符串转换数字类型的_MySQL 字符串类型用数字可以查出来 MySQL字符串类型会转换成数字 MySQL隐式类型转换...

    一.发现问题 1.在一次MySQL查询中,某字段为 varchar 字符串类型,传入参数值为 int 数字类型,发现查询的结果和预期的不一致. 如: 某两列 name='11' , name = '1 ...

  9. python字符串类型_Python3的字符串类型(疯狂Python)

    先看一下本篇文章要讲的内容目录: 4.2 字符串入门String4.2.1 repr和字符串4.2.2 input和raw_input4.2.3 长字符串4.2.4 bytes4.2.5 字符串格式化 ...

最新文章

  1. 全“芯”关注用户需求 AMD“超轻薄笔记本”杀出重围
  2. 项目材料用到的词组积累
  3. Google的其他用法
  4. learning java AWT 布局管理器 GridLayout
  5. Markdown语法 (中文版)
  6. oracle 没有rlwap,[20140723]安装使用anysql.txt
  7. mysql二进制日志管理
  8. 【字幕制作】生肉资源的字幕问题解决经验分享 入门科普/一键机翻/在线识别/内嵌封装
  9. 云计算与云原生 — ETCD 数据库完全解析
  10. java excel 表头_Java如何生成excel的表头可变的示例代码
  11. UE4读写txt文本文件(虚幻4)
  12. 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列三之安装过程,设置选项
  13. 网易2017年春招笔试题记录
  14. “顶流”长沙,如何发展MCN?
  15. PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)
  16. Unity3d 实现落叶飘效果
  17. java----缓存
  18. 特斯拉第二季度交付9.52万辆电动汽车创纪录 股价盘后上涨7%
  19. 遭灰熊做空,蔚来汽车在股价跳水后选择了回应
  20. DMS、RDS、OLAP简介

热门文章

  1. 开源云平台 Nano v0.9.1发布 - 镜像重构/资源绑定/日志
  2. PDF怎么转换成Word,PDF转Word的方法
  3. http协议基础(七)通用首部字段
  4. 时间稍纵即逝,好久不见~ [QQ群均已解散,暂只保留UE4群]
  5. mybatis在控制台打印sql语句
  6. Elasticsearch使用
  7. 复习webpack的常用loader
  8. [项目实施失败讨论Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)...
  9. Linux各发行版流行度统计数据与排名
  10. 柏堰工业园有做机器人的吗_合肥柏堰科技园推进机器人应用 促产业转型升级...