mysql 日期date类型格式转换

大家好,定义了一个date类型的字段,取数据的时候,如下图所示,请问如何转换日期格式?

clipboard.png

clipboard.png

我来补充一下我的问题:

 commis_date as commisDate 这个commisDate  在实体类里面是日期类型,当这个日期类型传递到页面的时候 转换成了 1516809600000 ,大家所说的转类型是在实体类里面转还是在哪里转?
阅读 7.2k
6 个回答
  1. mysql中可以用DATE_FORMAT()函数把它转换成字符串来查询.
    PS: 该函数的使用请看: http://www.w3school.com.cn/sq...
  2. 用SimpleDateFormat或 jodaTime的DateTimeFormatter来转换 (两者的区别可以百度一下)

下面是用DateTimeFormatter的代码

DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dateTime = new DateTime(date);//这里的date就是你要转换的Date对象
String dateTimeStr = dateTime.toString(dateTimeFormatter);

这是你想要的工具类

/**
 *
 * Created by MenzilBiz on 18-1-25.
 */
public class DateUtil {

    private static final DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");

    /**
     * Date类型转为yyyy-MM-dd HH:mm:ss类型String
     */
    public static String formatDateTime(Date date) {
        return format(date, dateTimeFormatter);
    }

    /**
     * yyyy-MM-dd HH:mm:ss类型String转为DateTime
     */
    public static DateTime parseDateTime(String dateString) {
        return parse(dateString, dateTimeFormatter);
    }

    private static String format(Date date, DateTimeFormatter formatter) {
        if (date == null) {
            return null;
        }
        DateTime dateTime = new DateTime(date);
        return dateTime.toString(formatter);
    }

    private static DateTime parse(String date, DateTimeFormatter formatter) {
        if (StringUtils.isEmpty(date)) {
            return null;
        }
        DateTime dateTime = formatter.parseDateTime(date);
        return dateTime;
    }

}

里面可以根据自己的需要添加各种格式的转换方法

用的时候直接调用public方法即可.

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.CHINA);
simpleDateFormat.format(date);

请自行了解java.text包下的SimpleDateFormat

谢谢大家热心的回答,这个地方怎么转换都不行的,我采用了这个方法,在实体类里面定义了一个字符串,
private String commisDateStr; 给这个字符串定义一个get方法 返回一个日期字符串就可以了

clipboard.png

用ssm框架的话,直接在实体类属性名上加@DateTimeFormat注解完美解决前后端转换问题
例子:

`public class user {

        String id;
        
        String name;
        
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        Date birthday;
  }`

看你的对象是个分页对象,那应该是web项目,像这种日期格式的转换一般都会统一进行转换,要不统一在前端,要不统一在后端,不建议在实体类中加任何多余的代码,实体类保持和数据库对应就ok。
比如我们公司的项目,基本上返给前端的date就是统一的时间戳,由前端框架来转换具体的展示格式,个别项目后端统一MessageConverter转换成固定格式的日期字符串。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题