react native 日期格式化

来源:互联网 发布:怎样安装管家婆软件 编辑:程序博客网 时间:2024/05/16 15:54

1、moment

http://momentjs.cn/

react native 新建工程时,node_modules已包含moment
使用

//···import moment from 'moment';//···moment().format('YYYY-MM-DD HH:mm:ss')

其他示例,使用和Date类似

console.log(moment.unix(1481523462171 / 1000).format("YYYY-MM-DD HH:mm:ss"));console.log(moment(1481523462171).format("YYYY-MM-DD HH:mm:ss"));/*两个输出的值是一致的 2016-12-12 14:17:42*/console.log(moment().toDate().getTime());console.log(moment().valueOf());/*两个输出的值是一致的,精确到毫秒的时间截*/console.log(moment().unix());/*精期到秒的时间截*/

方法一

Date.prototype.pattern=function(fmt) {             var o = {             "M+" : this.getMonth()+1, //月份             "d+" : this.getDate(), //日             "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时             "H+" : this.getHours(), //小时             "m+" : this.getMinutes(), //分             "s+" : this.getSeconds(), //秒             "q+" : Math.floor((this.getMonth()+3)/3), //季度             "S" : this.getMilliseconds() //毫秒             };             var week = {             "0" : "/u65e5",             "1" : "/u4e00",             "2" : "/u4e8c",             "3" : "/u4e09",             "4" : "/u56db",             "5" : "/u4e94",             "6" : "/u516d"            };             if(/(y+)/.test(fmt)){                 fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));             }             if(/(E+)/.test(fmt)){                 fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);             }             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;         }

调用方法

var date = new Date();window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));

方法二:

// 对Date的扩展,将 Date 转化为指定格式的String// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: //

Date.prototype.Format = function (fmt) {      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(fmt)) fmt = fmt.replace(RegExp.$1, (this.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;}

调用方法:

var haorooms2= new Date(1453094034000).Format("yyyy-MM-dd hh:mm:ss"); alert(haorooms2 );

小结
上面两种方法来源于网络,经过验证测试都是可以用的,也比较方便,大家在使用的时候,可以将其进行封装,在你的函数中,直接调用就可以了,这两种时间格式化函数方法还是比较好的!
有什么更好的办法,可以留言交流,谢谢!



作者:proud2008
链接:http://www.jianshu.com/p/20be2c7e1a5b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。