Java前后端的时间格式转换

一.方案一:在java实体中转换(推荐)

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//从页面传后台做转换
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//后台传页面做转换
private Date createTime;

二.方案二:在js中转换

下面这个我也没试过,太麻烦不建议使用

Date.prototype.format = function(format) {
    var o = {
        "M+": this.getMonth() + 1,
        // month
        "d+": this.getDate(),
        // day
        "h+": this.getHours(),
        // hour
        "m+": this.getMinutes(),
        // minute
        "s+": this.getSeconds(),
        // second
        "q+": Math.floor((this.getMonth() + 3) / 3),
        // quarter
        "S": this.getMilliseconds()
        // millisecond
    };
    if (/(y+)/.test(format) || /(Y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
};

三.方案三:在数据库中转换

1.日期转字符串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串  

select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年  

select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月  

select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日  

select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  

select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分  

select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

2.字符串转日期

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual; //字符串转日期

3.在mybatis中的写法:


  CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},

你可能感兴趣的:(Java前后端的时间格式转换)