@JsonFormat时间格式化注解使用
<div class="banner banner-post"><div style="text-align:left;padding-left:20px;margin:5px 0 -5px;">
<!-- 文章页顶部广告 尺寸:950*70 -->
@JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。
JsonFormat注解是jackson包里面的一个注解,因此在使用的时候需要引入fasterxml maven的jar包,如下所示。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
引入fasterxml maven jar包之后,就可以在实体类属性上面使用@JsonFormat注解了,要注意的是,它只会在类似@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间,你直接使用System.out.println()输出的话,仍然是类似“Fri Dec 01 21:05:20 CST 2017”这样的时间样式。
package demo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
public class Student {
private int id;
private String username;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date createDate;
//getter setter省略。。。
}
当我们这样@ResponseBody输出json数据的时候,@JsonFormat注解标识的date属性就会自动返回yyyy-MM-dd HH:mm:ss样式的时间了,例如。
@PostMapping("/api/getStudent")
@ResponseBody
public Map<String,Object> findStudentById(Long stuId){
Map<String,Object> resultMap = new HashMap<>();
Student stu = StudentService.findStudentById(stuId);
resultMap.put(“result”,stu);
return resultMap;
}
来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/2017/1201/417.html
</article>
<footer class="article-footer">
<!-- <div class="article-tags" style="visibility:hidden">继续浏览有关 JsonFormat 的文章</div> <div class="share" style="height:100%"><div id="bdshare" class="bdshare_t bds_tools get-codes-bdshare"> -->
<div style="font-size:16px;height:100%"><a target="_blank" style="color:red;height:100%" href="https://www.joingf.com/zh/vyprvpn/world-cup-special?offer_id=235&aff_id=4585">点击注册下载网络加速器,轻松浏览Facebook,Google,twitter等网站,无限制观看1080P高清YouTube视频!</a></div>
<!-- </div></div> --> </footer>
<nav class="article-nav">
<span class="article-nav-prev">上一篇:<a href="/a/javaweb/2017/1126/408.html">java.lang.ArrayIndexOutOfBoundsException错误解决</a> </span>
<span class="article-nav-next">下一篇:<a href="/a/javaweb/2017/1204/420.html">java汉字转拼音pinyin4j功能实现示例</a> </span>
</nav>
<div class="relates">
<h3>与本文相关的文章</h3>
<ul>
<div class="banner banner-related"><div style="margin-bottom:-6px;">
<!-- 文章页底部广告 尺寸:950*70 -->
</div></div>
<div class="comt-title">
<div class="comt-avatar pull-left">
<img alt="" src="/dede58/img/head.png" class="avatar avatar-28 photo avatar-default" height="28" width="28"> </div>
<div class="comt-author pull-left">
发表我的评论 </div>
<a id="cancel-comment-reply-link" class="pull-right" href="javascript:;">取消评论</a>
</div>
<div class="comt">
<div class="comt-box">
<textarea placeholder="写点什么..." class="input-block-level comt-area" name="comment" id="comment" cols="100%" rows="3" tabindex="1" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea>
<div class="comt-ctrl">
<button class="btn btn-primary pull-right" type="button" onclick="PostComment()" name="submit" id="submit" tabindex="5"><i class="icon-ok-circle icon-white icon12"></i> 提交评论</button>
<div class="comt-tips pull-right"><input type="hidden" name="comment_post_ID" value="5127" id="comment_post_ID">
<div class="comt-comterinfo" id="comment-author-info">
<h4><span class="form-inline">
</span>您的回复是我们的动力!</h4>
<ul>
<li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="username" id="author" value="游客" tabindex="2" placeholder="昵称"><span class="help-inline">昵称 (必填)</span></li>
<li class="form-inline"><input class="ipt" type="hidden" name="email" id="email" value="" tabindex="3" placeholder="邮箱"></li>
</ul>
</div>
</div>
</form>
</div>
网友最新评论
}
function quoteCommet(fid)
{
document.feedback.fid.value = fid;
}
function ajaxFeedback(aid, fid, type)
{
var taget_obj = $DE('ajaxfeedback_'+fid);
if(taget_obj.innerHTML == '')
{
var myajax = new DedeAjax(taget_obj, true, true, '', 'x');
myajax.SendGet2("/plus/feedback.php?aid="+aid+"&fid="+fid+"&action=quote&type=ajax");
eval('var result = typeof CKEDITOR.instances.msg_'+fid);
if(result != 'undefined')
{
// 删除实例
eval('var edit = CKEDITOR.instances.msg_'+fid);
CKEDITOR.remove(edit);
}
CKEDITOR.replace(document.getElementById('msg_'+fid) , CKEDITOR.instances.msg.config);
scroll(0, taget_obj.offsetTop - 120);
var formname = 'f = document.ajaxfeedback_'+fid;
eval(formname);
if(f.validate)
{
if($DE('vdimg_'+fid)) $DE('vdimg_'+fid).src = "/include/vdimgck.php?"+f.validate.value;
f.validate.value = '';
}
DedeXHTTP = null;
}
}
function ajaxQuotePost(fid)
{
var formname = ‘f = document.ajaxfeedback_’+fid;
eval(formname);
//var f = document.formname;
//var f = f[0];
var nvalidate = ‘’;
var nnotuser = ‘’;
var nusername = ‘’;
var npwd = ‘’;
var taget_obj = $DE(‘commetcontentNew’);
var waithtml = “
eval(‘var msg = CKEDITOR.instances.msg_’+fid+’.getData()’);
if(f.validate)
{
if(f.validate.value=='') {
alert("请填写验证码!");
return;
}
else {
nvalidate = f.validate.value;
}
}
var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml);
if(f.notuser.checked) nnotuser = '1';
if(f.username) nusername = f.username.value;
if(f.pwd) npwd = f.pwd.value;
myajax.sendlang = 'gb2312';
myajax.AddKeyN('dopost', 'send');
myajax.AddKeyN('aid', '417');
myajax.AddKeyN('fid', f.fid.value);
myajax.AddKeyN('type', 'ajax');
myajax.AddKeyN('comtype', f.comtype.value);
myajax.AddKeyN('isconfirm','yes');
myajax.AddKeyN('typeid', f.typeid.value);
myajax.AddKeyN('quotemsg', f.quotemsg.value);
myajax.AddKeyN('validate', nvalidate);
myajax.AddKeyN('notuser', nnotuser);
myajax.AddKeyN('username', nusername);
myajax.AddKeyN('pwd', npwd);
myajax.AddKeyN('msg', msg);
console.log(“这里也执行了吗?====”);
myajax.SendPost2(’/plus/feedback_ajax.php’);
//alert(f.quotemsg.value);
if($DE(‘ajaxfeedback_’+fid).innerHTML != null)
{
$DE(‘ajaxfeedback_’+fid).innerHTML = ‘’;
}
scroll(0, taget_obj.offsetTop);
}
LoadCommets(1);
</div>