2021-01-05 10:56发布
实体类中添加时间转换注解(注意时区问题)
/**
* 开始时间
*/
@JsonFormat(pattern =
"yyyy-MM-dd HH:mm:ss"
, timezone=
"GMT+8"
)
private Date startTime;
参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟 缺省值 "y-m-d h:i:s"
fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间
实例: formatDate() 当前时间默认格式 如 2011-4-12 12:51:12
formatDate('y/m/d', 2132132131) 某时间格式为 年月日 如 2010/12/5
function formatDate(formatStr, fdate)
{
var fTime, fStr = 'ymdhis';
if (!formatStr)
formatStr= "y-m-d h:i:s";
if (fdate)
fTime = new Date(fdate);
else
fTime = new Date();
var formatArr = [
fTime.getFullYear().toString(),
(fTime.getMonth()+1).toString(),
fTime.getDate().toString(),
fTime.getHours().toString(),
fTime.getMinutes().toString(),
fTime.getSeconds().toString()
]
for (var i=0; i{formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);}return formatStr;}
formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
}
return formatStr;
我们都知道在Java和PHP语言中,有专门用于格式化日期对象的类和函数,例如Java中的DateFormat等等,通过这些类和函数,我们可以方便的将一个日期对象按照格式的要求输出为字符串,例如对于同一个日期2006年12月25日,需要的显示格式可能如下:
2010年12月25日,2010-12-25,12-25-2010等等。
在Javascript之中,日期对象是Date,那么如何将一个日期对象按照定制的格式进行输出呢?
Date对象有有四个内置方法,用于输出为字符串格式,分别为:
toGMTString,将一个日期按照GMT格式显示
toLocaleString,将一个日期按照本地操作
toLocaleDateString,按照本地格式显示一个日期对象的日期部分
toLocaleTimeString,按照本地格式显示一个日期对象的时间部分
尽管Javascript的Date对象中内置提供了这些输出为字符串的方法,但是这些字符串不是我们来控制格式的,因此如果我们需要我们自己定制的特殊格式,那么又该怎么办呢?
不用着急,JsJava中提供了专用的类,专门对日期进行指定格式的字符串输出,你可以下载JsJava-1.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-1.0.js,样例代码如下:
1
var
df=
new
DateFormat();
2
df.applyPattern(
"yyyy-MM-dd hh:mm:ss"
);
3
date=
Date(2010,3,30,10,59,51);
4
str=df.format(date);
5
[removed](str);
//显示结果为:2010-04-30 10:59:51
通过上面的例子你可以看出,你需要做的就是指定pattern,那么pattern中yyyy、MM等都表示什么意思呢?如果你学习过Java的日期格式化,那么你应该知道,那都是占位符,这些占位符都具有特殊的函数,例如y表示年,yyyy表示四个数字的年份。
格式化的日期对象为:
日期对象为:Tue Jan 05 2021 18:13:41 GMT+0800 (中国标准时间)
01
[removed]"text/javascript">
"text/javascript"
>
02
Date.prototype.format =
function
(format)
03
04
o = {
05
"M+"
:
this
.getMonth()+1,
//month
06
"d+"
.getDate(),
//day
07
"h+"
.getHours(),
//hour
08
"m+"
.getMinutes(),
//minute
09
"s+"
.getSeconds(),
//second
10
"q+"
: Math.floor((
.getMonth()+3)/3),
//quarter
11
"S"
.getMilliseconds()
//millisecond
12
13
14
if
(/(y+)/.test(format))
15
16
format=format.replace(RegExp.$1,(
.getFullYear()+
""
).substr(4 - RegExp.$1.length));
17
18
19
for
(
k
in
o)
20
21
RegExp(
"("
+ k +
")"
).test(format))
22
23
format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : (
"00"
+ o[k]).substr((
+ o[k]).length));
24
25
26
return
format;
27
28
29
d =
Date();
30
[removed](
'日期对象为:'
31
[removed](d);
32
str = d.format(
'yyyy-MM-dd'
33
today = document.getElementById(
"todayButton"
34
today.value = str;
35
36
[removed]
刚项目中需要使用js格式化输出时间,发现js中并没有现成的类似PHP中date()的函数。于是用js模拟一个方便以后使用,代码如下:
格式化时间
1.项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式;
例如:
yyyy-MM-dd HH:mm:ss
2.处理方法(处理方法有多种,可以传值到前端处理,也可以后台可以好之后再传递到页面)
方法一:实体类中添加时间转换注解(注意时区问题)
/** * 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8") private Date startTime;
方法二:js处理
{ field : 'crtTime', title : '创建时间', width : 100, sortable :true, align : 'center', formatter : crtTimeFtt },
function crtTimeFtt(val, row) { if (val != null) { var date = new Date(val); return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); } }
方法三:JS处理(创建公共类方法)
/**************************************时间格式化处理************************************/function dateFtt(fmt,date) { //author: meizz var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; }
相应JS文件里面的引用
//创建时间格式化显示function crtTimeFtt(value,row,index){ var crtTime = new Date(value); return top.dateFtt("yyyy-MM-dd hh:mm:ss",crtTime);//直接调用公共JS里面的时间类处理的办法 }
3.总结:实现时间转换的方法有多种,怎样方便,达到项目的要求,就可,欢迎留言。
在 Date 的原型链上增加一个函数 format ,用来格式化时间。
for (var i=0; i
向一个对象数组里面添加新的属性var arry= [{a:11,b:22,c:33,d:44},{a:11,b:0,c:0,d:44},{a:11,b:22,c:99,d:99}];var arry2=[];arry.map(((item, index)=> {arry2.push(Object.assign({},item,{mess1:item.c,mess2:item.d}))}))cons...
我觉得getTopWindow() 应该是他自己写的函数 mask 应该是getTopWindow()函数中 return 出的一个什么玩意show() jQuery的显示
如图所示
1、原型对象也是普通的对象,是对象一个自带隐式的 __proto__ 属性,原型也有可能有自己的原型,如果一个原型对象的原型不为 null 的话,我们就称之为原型链 2、 原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链...
使用VS code对JS进行Debug,需要安装一个插件,这个插件是根据你所使用的浏览器来的,不同浏览器对应插件不同,以下是插件对应情况,下载完相应的插件以后还要下载一个live server在浏览器下查看你界面运行效果,记得在到设置里修改下live server的端口号,然...
没有基础,是可以学Java的,在网上也能找到很多免费的视频、学习资料等资源,只不过想要光靠自己摸索学透Java并不容易,最好是找一个比较靠谱的有实训的培训机构。不过,我给你点建议:1.脑子里要有编程思维,2.学习态度要有,3.了解了基本概念后,从图形界面...
假设文本框的id=text1js:document.getElementById(text1).value = 测试;//即可
这两个事件都是在js原生开发时经常会用到的,比如需要对页面dom进行动态处理,这时就需要用到DOMContentLoaded和[removed]事件,大家都知道,就是在dom构建完毕后,才可以对dom元素进行操作,否则会获取不到相应的dom元素,但是DOMContentLoaded和[removed]还...
基本概念CookieCookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到记住密码,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。localStoragelocalStor...
在vscode 头疼的问题是 用浏览器查看网页!会是以文件夹的方式打开的! 我遇到这个问题 我还重新配置了Apache ! 但是现在可以解决:使用vscode ==================== 打开cmd : 在cmd 控制台中输入 : 1.运行cnpm install live-server...
在进行对象之间的合并的时候,就会使用到extend方法进行合并语法结构:$.extend(true,{},对象1,对象2...)但是这里需要考虑一个问题,如果对象间有相同的属性名,就会涉及到哪一个对象和哪一个对象的值覆盖合并的问题,如果对象中的属性值还是一个对象的话,那...
先说下要实现什么功能,比如:限制图片大小不能超过30K,宽高为121x75上面需求提了,然后我直接把代码给你放出来,可以照着下面代码敲一遍试试就知道怎么限制图片宽高了 $(#picFile4).on(change,function(){ var imgFile = this.files[0]; va...
用python爬取近30天百度指数代码均转载,如下:#1.登录url = ‘http://index.baidu.com/’driver = webdriver.Chrome(executable_path=‘C:/Program Files(x86)/Google/Chrome/Application/chromedriver.exe’)driver.get(url)cookieList = [......
基本类型基本类型分为以下六种:string(字符串)boolean(布尔值)number(数字)symbol(符号)null(空值)undefined(未定义)注意:string 、number 、boolean 和 null undefined 这五种类型统称为原始类型(Primitive),表示不能再细分下去的基本类...
实例中包含加、减、乘、除四种运算,由于先乘和除的优先级别高,所以乘和除将首先被运算,接下来是加和减运算。乘和除优先级相同,所以左边的乘法将被先执行,然后是除法,接下来按从左到右的顺序进行加减运算...
最多设置5个标签!
实体类中添加时间转换注解(注意时区问题)
/**
* 开始时间
*/
@JsonFormat(pattern =
"yyyy-MM-dd HH:mm:ss"
, timezone=
"GMT+8"
)
private Date startTime;
参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟 缺省值 "y-m-d h:i:s"
fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间
实例: formatDate() 当前时间默认格式 如 2011-4-12 12:51:12
formatDate('y/m/d', 2132132131) 某时间格式为 年月日 如 2010/12/5
function formatDate(formatStr, fdate)
{
var fTime, fStr = 'ymdhis';
if (!formatStr)
formatStr= "y-m-d h:i:s";
if (fdate)
fTime = new Date(fdate);
else
fTime = new Date();
var formatArr = [
fTime.getFullYear().toString(),
(fTime.getMonth()+1).toString(),
fTime.getDate().toString(),
fTime.getHours().toString(),
fTime.getMinutes().toString(),
fTime.getSeconds().toString()
]
for (var i=0; i
{
formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
}
return formatStr;
}
我们都知道在Java和PHP语言中,有专门用于格式化日期对象的类和函数,例如Java中的DateFormat等等,通过这些类和函数,我们可以方便的将一个日期对象按照格式的要求输出为字符串,例如对于同一个日期2006年12月25日,需要的显示格式可能如下:
2010年12月25日,2010-12-25,12-25-2010等等。
在Javascript之中,日期对象是Date,那么如何将一个日期对象按照定制的格式进行输出呢?
Date对象有有四个内置方法,用于输出为字符串格式,分别为:
toGMTString,将一个日期按照GMT格式显示
toLocaleString,将一个日期按照本地操作
toLocaleDateString,按照本地格式显示一个日期对象的日期部分
toLocaleTimeString,按照本地格式显示一个日期对象的时间部分
尽管Javascript的Date对象中内置提供了这些输出为字符串的方法,但是这些字符串不是我们来控制格式的,因此如果我们需要我们自己定制的特殊格式,那么又该怎么办呢?
不用着急,JsJava中提供了专用的类,专门对日期进行指定格式的字符串输出,你可以下载JsJava-1.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-1.0.js,样例代码如下:
1
var
df=
new
DateFormat();
2
df.applyPattern(
"yyyy-MM-dd hh:mm:ss"
);
3
var
date=
new
Date(2010,3,30,10,59,51);
4
var
str=df.format(date);
5
[removed](str);
//显示结果为:2010-04-30 10:59:51
通过上面的例子你可以看出,你需要做的就是指定pattern,那么pattern中yyyy、MM等都表示什么意思呢?如果你学习过Java的日期格式化,那么你应该知道,那都是占位符,这些占位符都具有特殊的函数,例如y表示年,yyyy表示四个数字的年份。
效果演示
格式化的日期对象为:
日期对象为:Tue Jan 05 2021 18:13:41 GMT+0800 (中国标准时间)
JavaScript Code
01
[removed]
"text/javascript"
>
02
Date.prototype.format =
function
(format)
03
{
04
var
o = {
05
"M+"
:
this
.getMonth()+1,
//month
06
"d+"
:
this
.getDate(),
//day
07
"h+"
:
this
.getHours(),
//hour
08
"m+"
:
this
.getMinutes(),
//minute
09
"s+"
:
this
.getSeconds(),
//second
10
"q+"
: Math.floor((
this
.getMonth()+3)/3),
//quarter
11
"S"
:
this
.getMilliseconds()
//millisecond
12
}
13
14
if
(/(y+)/.test(format))
15
{
16
format=format.replace(RegExp.$1,(
this
.getFullYear()+
""
).substr(4 - RegExp.$1.length));
17
}
18
19
for
(
var
k
in
o)
20
{
21
if
(
new
RegExp(
"("
+ k +
")"
).test(format))
22
{
23
format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : (
"00"
+ o[k]).substr((
""
+ o[k]).length));
24
}
25
}
26
return
format;
27
}
28
29
var
d =
new
Date();
30
[removed](
'日期对象为:'
);
31
[removed](d);
32
var
str = d.format(
'yyyy-MM-dd'
);
33
var
today = document.getElementById(
"todayButton"
);
34
today.value = str;
35
36
[removed]
刚项目中需要使用js格式化输出时间,发现js中并没有现成的类似PHP中date()的函数。于是用js模拟一个方便以后使用,代码如下:
格式化时间
参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟 缺省值 "y-m-d h:i:s"
fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间
实例: formatDate() 当前时间默认格式 如 2011-4-12 12:51:12
formatDate('y/m/d', 2132132131) 某时间格式为 年月日 如 2010/12/5
function formatDate(formatStr, fdate)
{
var fTime, fStr = 'ymdhis';
if (!formatStr)
formatStr= "y-m-d h:i:s";
if (fdate)
fTime = new Date(fdate);
else
fTime = new Date();
var formatArr = [
fTime.getFullYear().toString(),
(fTime.getMonth()+1).toString(),
fTime.getDate().toString(),
fTime.getHours().toString(),
fTime.getMinutes().toString(),
fTime.getSeconds().toString()
]
for (var i=0; i
{
formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
}
return formatStr;
}
1.项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式;
例如:
yyyy-MM-dd HH:mm:ss
2.处理方法(处理方法有多种,可以传值到前端处理,也可以后台可以好之后再传递到页面)
方法一:实体类中添加时间转换注解(注意时区问题)
方法二:js处理
方法三:JS处理(创建公共类方法)
相应JS文件里面的引用
3.总结:实现时间转换的方法有多种,怎样方便,达到项目的要求,就可,欢迎留言。
在 Date 的原型链上增加一个函数 format ,用来格式化时间。
参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟 缺省值 "y-m-d h:i:s"
fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间
参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟 缺省值 "y-m-d h:i:s"
fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间
实例: formatDate() 当前时间默认格式 如 2011-4-12 12:51:12
formatDate('y/m/d', 2132132131) 某时间格式为 年月日 如 2010/12/5
function formatDate(formatStr, fdate)
{
var fTime, fStr = 'ymdhis';
if (!formatStr)
formatStr= "y-m-d h:i:s";
if (fdate)
fTime = new Date(fdate);
else
fTime = new Date();
var formatArr = [
fTime.getFullYear().toString(),
(fTime.getMonth()+1).toString(),
fTime.getDate().toString(),
fTime.getHours().toString(),
fTime.getMinutes().toString(),
fTime.getSeconds().toString()
]
for (var i=0; i
{
formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
}
return formatStr;
}
相关问题推荐
向一个对象数组里面添加新的属性var arry= [{a:11,b:22,c:33,d:44},{a:11,b:0,c:0,d:44},{a:11,b:22,c:99,d:99}];var arry2=[];arry.map(((item, index)=> {arry2.push(Object.assign({},item,{mess1:item.c,mess2:item.d}))}))cons...
我觉得getTopWindow() 应该是他自己写的函数 mask 应该是getTopWindow()函数中 return 出的一个什么玩意show() jQuery的显示
如图所示
1、原型对象也是普通的对象,是对象一个自带隐式的 __proto__ 属性,原型也有可能有自己的原型,如果一个原型对象的原型不为 null 的话,我们就称之为原型链 2、 原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链...
使用VS code对JS进行Debug,需要安装一个插件,这个插件是根据你所使用的浏览器来的,不同浏览器对应插件不同,以下是插件对应情况,下载完相应的插件以后还要下载一个live server在浏览器下查看你界面运行效果,记得在到设置里修改下live server的端口号,然...
没有基础,是可以学Java的,在网上也能找到很多免费的视频、学习资料等资源,只不过想要光靠自己摸索学透Java并不容易,最好是找一个比较靠谱的有实训的培训机构。不过,我给你点建议:1.脑子里要有编程思维,2.学习态度要有,3.了解了基本概念后,从图形界面...
假设文本框的id=text1js:document.getElementById(text1).value = 测试;//即可
这两个事件都是在js原生开发时经常会用到的,比如需要对页面dom进行动态处理,这时就需要用到DOMContentLoaded和[removed]事件,大家都知道,就是在dom构建完毕后,才可以对dom元素进行操作,否则会获取不到相应的dom元素,但是DOMContentLoaded和[removed]还...
基本概念CookieCookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到记住密码,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。localStoragelocalStor...
在vscode 头疼的问题是 用浏览器查看网页!会是以文件夹的方式打开的! 我遇到这个问题 我还重新配置了Apache ! 但是现在可以解决:使用vscode ==================== 打开cmd : 在cmd 控制台中输入 : 1.运行cnpm install live-server...
在进行对象之间的合并的时候,就会使用到extend方法进行合并语法结构:$.extend(true,{},对象1,对象2...)但是这里需要考虑一个问题,如果对象间有相同的属性名,就会涉及到哪一个对象和哪一个对象的值覆盖合并的问题,如果对象中的属性值还是一个对象的话,那...
先说下要实现什么功能,比如:限制图片大小不能超过30K,宽高为121x75上面需求提了,然后我直接把代码给你放出来,可以照着下面代码敲一遍试试就知道怎么限制图片宽高了 $(#picFile4).on(change,function(){ var imgFile = this.files[0]; va...
用python爬取近30天百度指数代码均转载,如下:#1.登录url = ‘http://index.baidu.com/’driver = webdriver.Chrome(executable_path=‘C:/Program Files(x86)/Google/Chrome/Application/chromedriver.exe’)driver.get(url)cookieList = [......
基本类型基本类型分为以下六种:string(字符串)boolean(布尔值)number(数字)symbol(符号)null(空值)undefined(未定义)注意:string 、number 、boolean 和 null undefined 这五种类型统称为原始类型(Primitive),表示不能再细分下去的基本类...
实例中包含加、减、乘、除四种运算,由于先乘和除的优先级别高,所以乘和除将首先被运算,接下来是加和减运算。乘和除优先级相同,所以左边的乘法将被先执行,然后是除法,接下来按从左到右的顺序进行加减运算...