JQuery ligerUI中的日期格式化问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery ligerUI中的日期格式化问题相关的知识,希望对你有一定的参考价值。

我是先新增了一行Grid,其中一个column的editor.type为日期,当选择好日期并调用endEdit()方法后,在列表里面显示的日期并不是yyyy-MM-dd格式,而是英文那种,请问这种该怎么解决?

你好!我请教你个问题,你的日期 字段 是怎么格式化的呀?为什么我这样写
display: '生日', name: 'birthday', type: 'date',format: 'yyyy年MM月dd日' 显示的日期还是我原来的日期格式 1989/01/2 ,很郁闷呀,我看官网的例子,不是只要这样写就可以吗?能显示成1989年1月2日 这样的吗?谢谢
参考技术A js code如下,你可以试试:

function formatDate(now)
var year=now.getYear();
var month=now.getMonth()+1;
var date=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;


var d=new Date(1230999938);
alert(formatDate(d));本回答被提问者和网友采纳
参考技术B 贴代码.. 参考技术C

后台**Controller.java,返回jsonStr格式的数据data

Map<String, Object> hzMap=null  ;//Map型数据为Rows=[PKID=f62ec3a0-93cd-11e9-97aa-54e1adb13ebe, DQID=1, QX=1, LXR=2, LXDH=18731197300, XXDZ=1, YYZZSMJ=1, YBNSRZM=1, KHJB=1, BFCS=1, SFYSB=否, SBSM=1, QTCPYL=1, CPYL=1, ZJBFSJ=2019-06-21 10:40:00.0, BZ=1, Total=1

String data = JSON.toJSONString(hzMap); //Map型数据转换成jsonStr;hzMap其中的String型日期格式,被转换成long型时间戳"Rows":["PKID":"f62ec3a0-93cd-11e9-97aa-54e1adb13ebe","DQID":"1","QX":"1","LXR":"2","LXDH":"18731197300","XXDZ":"1","YYZZSMJ":"1","YBNSRZM":"1","KHJB":1,"BFCS":1,"SFYSB":"否","SBSM":"1","QTCPYL":1,"CPYL":1,"ZJBFSJ":1561084800000,"BZ":"1","Total":1

前台**.jsp,使用legerUI插件

<script type="text/javascript">
//表头 配置column  参考链接https://www.cnblogs.com/leoxie2011/archive/2012/01/17/2324485.html#lable1Grid01_04
var gridColumn =[ 
//display: '序号', name: 'currentrow', align: 'center', width: 35,frozen:true,isSort:false ,     
display: '客户id',name: 'PKID',align: 'left',width:300,hide:true ,
display: '地区',name: 'DQID',align: 'left',width:120 ,
           display: '区县',name: 'QX',align: 'left',width:120 ,
           display: '联系人',name: 'LXR',align: 'left',width:100 ,
           display: '联系电话',name: 'LXDH',align: 'center',width:95 ,
           display: '详细地址',name: 'XXDZ',align: 'center',width:60 ,
           display: '营业执照扫描件',name: 'YYZZSMJ',align: 'left',width:110 ,
           display: '一般纳税人证明',name: 'YBNSRZM',align: 'center',width:60,
           display: '客户级别',name: 'KHJB',align: 'center',width:60 ,
           display: '拜访次数(钻)',name: 'BFCS',align: 'left',width:120 ,
           display: '是否有设备',name: 'SFYSB',align: 'left',width:120 ,
           display: '设备说明',name: 'SBSM',align: 'left',width:200 ,
           display: '其他产品用量(车/月)',name: 'QTCPYL',align: 'center',width:130 ,
           display: '产品用量(车/月)',name: 'CPYL',align: 'center',width:120 ,
           display: '最近拜访时间',name: 'ZJBFSJ',align: 'left',width:128,type: "date",render : function (record, rowindex, value, column) 
                   //this     这里指向grid
                   //record   行数据
                   //rowindex 行索引
                   //value    当前的值,对应record[column.name]
                   //column   列信息
                   //return value;  //返回此单元格显示的HTML内容(一般根据value和row的内容进行组织)

/*这里后台返回来的是返回 1970 年 1 月 1 日至今的毫秒数(即时间戳),例如value="1561084800000"。
可以先用js方法转换为date,然后利用js格式化时间yyyy-MM-ddhh:mm:ss,显示为"2019-06-21 10:40:00"。*/
                      if(value)
alert(value);//浏览器弹窗显示long型时间戳1561084800000
var val = new Date(value);//时间戳转日期
//alert(val);//浏览器弹窗显示日期Tue Jun 25 2019 16:24:00 GMT+0800 (中国标准时间)
//下面调用js格式化时间方法,可自定义格式化时间方法。方法功能是 日期转字符串。
return val.format("yyyy-MM-dd hh:mm:ss");

                return "";
                ,
           display: '备注(常用规格,产品使用情况、客户报价等信息)',name: 'BZ',align: 'center',width:300,
   ];

//列表查询json数据;并在表格处,列表显示数据
function kehuguanli_grid() 
gridparams = formParamJSON("kehuguanli_form");
//在表格处,列表显示数据
grid = $("#kehuguanli_maingrid").ligerGrid(
rownumbers : true,
frozenRownumbers : true,
rownumbersColWidth : 20,
checkbox : true,
columns : gridColumn,
sortName : "",
width : "100%",
height : "100%",
heightDiff : -3,
fixedCellHeight : false,
isScroll : true,
url : "$basepathkehuguanli/queryKeHuListJSON.action",
parms : gridparams,
method : "post",
dataAction : "server",
root : "Rows",
record : "Total",
pageParmName : "pageNum",
pagesizeParmName : "numPerPage",
sortnameParmName : "orderField",
sortorderParmName : "orderDirection",
usePager : true,
page : 1,
pageSize : 20,
pageSizeOptions : [ 10, 20, 50, 100 ],
//dateFormat: "yyyy-MM-dd hh:mm:ss",//全局设置时间样式,不管用!
onLoadData : function() 
exportExcelButton('$UUID');
//exportExcelButtonParameter('$UUID');
,
onSelectRow : function(rowdata, rowid, rowobj) 
//alert(rowdata.zydm);
,
onUnSelectRow : function(rowdata, rowid, rowobj) 
//alert(rowdata.zydm);

);

/** 
 * js格式化时间的方法。
 * Date的扩展,将 Date 转化为指定格式的String:
 * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符 ;
 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) ;
 */
Date.prototype.format = function(format) 
var o = 
"M+" : this.getMonth() + 1, // 月
"d+" : this.getDate(), // 日
"h+" : this.getHours(), // 小时
"m+" : this.getMinutes(), // 分钟
"s+" : this.getSeconds(), // 秒
"q+" : Math.floor((this.getMonth() + 3) / 3), // 季度
"S" : this.getMilliseconds() //毫秒
;
if (/(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;//返回字符串"2019-06-21 10:40:00"
;
</script>

ASP.NET使用Jquery LigerUI 轮询方式配合Ajax实现消息推送

轮询是在客户端建立一个时钟,每隔一段时间对服务器发送一次请求,获取服务器数据,是实现消息推送最简单最易实现的一种方式,最大的缺点浏览器需要不断的向服务器发出请求,这样会占用很多的带宽,造成资源浪费

下面是JS代码:

 1 $(document).ready(function () 
 2             setInterval(invoke, 20000);
 3         );
 4         function invoke() 
 5             var xhr = $.ajax(
 6                 type: "POST",
 7                 dataType: ‘json‘,
 8                 url: "Sys_msg.get_unRead_count.xhd",
 9                 data: "",
10                 success: function (result) 
11                     var obj = eval(result);
12                     if (obj > msg_count)
13                     
14                         $.ligerTip(
15                             content: "您有<font color=red> " + (obj-msg_count) + "</font> 条新增未读消息,请注意查收!           <br> <a href=‘javascript:void(0)‘ onclick=\\"window.top.f_addTab(‘Sys_msg‘,‘消息管理‘,‘personal/message/sys_msg.aspx‘)\\">进入处理</a>",
16                             width: 240,
17                             //var winH = $(window).height(), winW = $(window).width();
18                             x: tipW - 260,   //设置气泡位置,右下角气泡显示 
19                             y: tipH - 80,
20                             callback: function (t) 
21                                 var i = 10; //10秒倒计时
22                                 calctime(t, i);
23                             
24                         );
25                     
26                     msg_count = obj;
27                     
28                 
29             );
30         
31     var tipH = $(window).height(), tipW = $(window).width();    //获取屏幕尺寸
32     function calctime(t, i) //这个函数用了递归来实现倒计时
33         
34             i--;
35             (i >= 0)
36         ? setTimeout(function () 
37             calctime(t, i);
38         , 1000)
39         : $(t).remove();
40         

后台代码:

 1 public class Sys_msg
 2     
 3         public static BLL.Sys_msg msg = new BLL.Sys_msg();
 4         public static Model.Sys_msg model = new Model.Sys_msg();
 5 
 6         public HttpContext Context;
 7         public string emp_id;
 8         public string emp_name;
 9         public HttpRequest request;
10         public string uid;
11         
12 
13         public Sys_msg()
14         
15         
16 
17         public Sys_msg(HttpContext context)
18         
19             Context = context;
20             request = context.Request;
21 
22             var userinfo = new User_info();
23             employee = userinfo.GetCurrentEmpInfo(context);
24 
25             emp_id = employee.id;
26             emp_name = PageValidate.InputText(employee.name, 50);
27             uid = PageValidate.InputText(employee.uid, 50);
28             
29         
30 
31 
32         public int get_unRead_count()
33         
34             string serchtext = $" 1=1 ";
35             //int rowcount = 0;
36             serchtext += " and isRead=0";
37             serchtext += " and UserID like N‘%" + emp_id + "%‘";
38             DataSet ds = msg.GetList(serchtext);
39             //rowcount = ds.Tables[0].Rows.Count;
40             return ds.Tables[0].Rows.Count;
41         
42 
43     

技术图片

 

以上是关于JQuery ligerUI中的日期格式化问题的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery UI 日期选择器中格式化日期

更改 jquery-ui 日历中的日期格式

ASP.NET MVC、Telerik Kendo、jQuery 验证中的非标准日期格式

jquery 解析数据库中的json日期为正常的格式

为啥日期选择器中的日期格式没有改变?

jQuery datepicker 中的日期模型