Egg.js 通过 extend 实现 日期格式化

1.创建 helper 扩展方法

app/extend/helper.js

/**
 * app/extend/helper.js
 * 扩展里面引入第三方模块
 * https://www.npmjs.com/package/silly-datetime
 * 1、yarn add silly-datetime
 * 2、var sd = require(‘silly-datetime‘);
 * 3、sd.format(new Date(), ‘YYYY-MM-DD HH:mm‘);
 */

let sd = require(‘silly-datetime‘);

module.exports = {
  formatTime(param) {
    // this 是 helper 对象,在其中可以调用其他 helper 方法
    // this.ctx => context 对象
    // this.app => application 对象

    // 格式化日期 param -- 时间戳
    return sd.format(new Date(param*1000), ‘YYYY-MM-DD HH:mm‘);
  },
  getHelperData() {
    return ‘我是helper里面的数据‘;
  }
};

2.在 controller 中调用

// 调用extend里面扩展的helper的方法
console.log(this.ctx.helper.getHelperData());

3.在 view 中调用

<span>---<%=helper.formatTime(list[i].dateline)%></span>

4.其他扩展

app/extend/application.js

/**
 * app/extend/application.js
 * 外部可以通过 this.app.foo() 调用
 */
module.exports = {
  foo(param) {
    // this 就是 app 对象,在其中可以调用 app 上的其他方法,或访问属性

    return this.config.api;
  },
};

app/extend/context.js

/**
 * app/extend/context.js
 * 外部可以通过 this.ctx.getHost() 调用
 */
module.exports = {
  getHost(param) {
    // this 就是 ctx 对象,在其中可以调用 ctx 上的其他方法,或访问属性

    return this.request.host;
  },
};

app/extend/request.js

// app/extend/request.js
module.exports = {
  foo() {
    return this.header.host;
  },
};

5.调用

// 调用extend里面扩展的application
console.log(this.app.foo());

// 调用extend里面扩展的ctx
console.log(this.ctx.getHost());

// 调用extend里面扩展的helper的方法
console.log(this.ctx.helper.getHelperData());

// 调用extend里面扩展的request的方法
console.log(this.ctx.request.foo());

.

原文地址:https://www.cnblogs.com/crazycode2/p/12436397.html

时间: 2024-10-07 14:06:24

Egg.js 通过 extend 实现 日期格式化的相关文章

前端js、jQuery实现日期格式化、字符串格式化

1. js仿后台的字符串的StringFormat方法 在做前端页面时候,经常会对字符串进行拼接处理,但是直接使用字符串拼接,不但影响阅读,而且影响执行效率,且jQuery有没有定义字符串的StringFormat方法,只好自己写一个. function StringFormat() { if (arguments.length == 0) return null; var str = arguments[0]; for (var i = 1; i < arguments.length; i++

JS 日期格式化和解析工具

本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了. 原文链接 日期格式化 使用说明 formatDate(date, fmt),其中fmt支持的格式有: y(年) M(月) d(日) q(季度) w(星期) H(24小时制的小时) h(12小时制的小时) m(分钟) s(秒) S(毫秒) 另外,字符的个数决定输出字符的长度,如,yy输出16,yyyy输出2016,ww输出周五,www输出星期五,等等. 代码 完整代码一共

分享自己写的JS版日期格式化和解析工具类,绝对好用!

前言 本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了. 原文链接 日期格式化 使用说明 formatDate(date, fmt),其中fmt支持的格式有: y(年) M(月) d(日) q(季度) w(星期) H(24小时制的小时) h(12小时制的小时) m(分钟) s(秒) S(毫秒) 另外,字符的个数决定输出字符的长度,如,yy输出16,yyyy输出2016,ww输出周五,www输出星期五,等等. 代码 完整代

161226、js日期格式化

JavaScript Date format(js日期格式化) 方法一:// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

javascript Date format(js日期格式化)

方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.4

js Date 日期格式化(转)

var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表星期天)myDate.getTi

js 日期格式化函数(可自定义)

js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str = formatStr; var Week = ['日', '一', '二', '三', '四', '五', '六']; str = str.replace(/yyyy|YYYY/, dat.getFullYear()); str = str.replace(/yy|YY/, (dat.getYea

JS中如何将字符串转化成日期 日期格式化方法

<!--     /**     * 对Date的扩展,将 Date 转化为指定格式的String     * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)     * eg:     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-0