我们 a 组组长发了一张图过来,说是为什么之前把 dateModeTransform.js 处理日期的改了,让我改回来,说是要用到 年月日时分秒,还有之前的写法也有很多不妥的地方就是传递的参数太多了,这次简化了一下

之前的代码如下:

// 时间戳转换方法
/*** @params timestamp, 传入需要 转换的时间戳,* @params format, 默认为 "ymd", 代表 年月日, 'ymdhms' 代表 年月日时分秒, 'ymdhm' 代表 年月日时分, 'hm' 代表 时分  String* @content 如果只传递 timestamp 默认返回 年月日,* @return dateime* @author Ken* */
function padZero(num) {if(num < 10) {return `0${num}`} else {return num}
}const dateModeTransform = {dateModeTransform(timestamp, yBool=false, mBool=false, dBool=false, hBool=false, mBool=false, fBool=false, sBool=false) {let datetime = new Date(timestamp)let year = datetime.getFullYear()let month = padZero(datetime.getMonth() + 1)let date = padZero(datetime.getDate())let hours = padZero(datetime.getHours())let minutes = padZero(datetime.getMinutes())let seconds = padZero(datetime.getSeconds())if(yBool && mBool && dBool && hBool && mBool && sBool) {// 年月日时分秒return `${year}-${month}-${date} ${hours}:${minutes}:${seconds}`}if(yBool && mBool && dBool && hBool && mBool) {// 年月日时分return `${year}-${month}-${date} ${hours}:${minutes}`}if(yBool && mBool && dBool) {// 年月日return `${year}-${month}-${date}`}if(hBool && mBool && sBool) {// 时分秒return `${hours}:${minutes}:${seconds}`}if(hBool && mBool) {// 时分return `${hours}:${minutes}`}if(hBool) {// 时return `${hours}`}// 默认返回 年月日return `${year}-${month}-${date}`}
}export default dateModeTransform

今天一看,挖草,咋写成这样了,我调一个方法传递的参数这么麻烦,写一堆 bool 值在哪里,也不知道这些布尔值有什么含义,这是垃圾代码,今天调整了一下代码的传递参数格式之后,代码简洁了很多。

今天修改了一下传递参数的方式

// 时间戳转换方法
/*** @params timestamp, 传入需要 转换的时间戳,* @params format, 默认为 "ymd", 代表 年月日, 'ymdhms' 代表 年月日时分秒, 'ymdhm' 代表 年月日时分, 'hm' 代表 时分  String* @content 如果只传递 timestamp 默认返回 年月日,* @return dateime* @author Ken* */
function padZero(num) {if(num < 10) {return `0${num}`} else {return num}
}// 日期以及时间格式常量定义const CONSTVARIABLE = {YMDHMS: "yyyy-mm-dd hh:mm:ss", // 年月日时分秒YMDHM: "yyyy-mm-dd hh:mm", // 年月日时分YMD: "yyyy-mm-dd", // 年月日HMS: "hh:mm:ss", // 时分秒HM: "hh:mm", // 时分H: "hh" // 时
}const dateModeTransform = {dateModeTransform(timestamp, format=CONSTVARIABLE.YMD) {let datetime = new Date(timestamp)let year = datetime.getFullYear()let month = padZero(datetime.getMonth() + 1)let date = padZero(datetime.getDate())let hours = padZero(datetime.getHours())let minutes = padZero(datetime.getMinutes())let seconds = padZero(datetime.getSeconds())if(format === CONSTVARIABLE.YMDHMS) {// 年月日时分秒return `${year}-${month}-${date} ${hours}:${minutes}:${seconds}`}if(format === CONSTVARIABLE.YMDHM) {// 年月日时分return `${year}-${month}-${date} ${hours}:${minutes}`}if(format === CONSTVARIABLE.YMD) {// 年月日return `${year}-${month}-${date}`}if(format === CONSTVARIABLE.HMS) {// 时分秒return `${hours}:${minutes}:${seconds}`}if(format === CONSTVARIABLE.HM) {// 时分return `${hours}:${minutes}`}if(format === CONSTVARIABLE.H) {// 时return `${hours}`}// 默认返回 年月日return `${year}-${month}-${date}`}
}export default dateModeTransform

首先,我这里学到了一个很重要的技巧,就是比如我们事先已经知到有哪几种情况就像上面日期处理函数那样,比如用户可能处理 年月日时分秒,年月日时分,年月日,时分秒,时分,时这几种情况,那么我们可以使用一些 const 变量来事先定义好,然后用户传递进来的参数根据写好的东西进行判断就好了

定义const变量是不可以赋值_定义好 const 变量相关推荐

  1. C语言—变量的声明与赋值(定义)(及命名规则)_成仙不问道

    #include<stdio.h>int main() { int num; //声明 num=1; //赋值(定义)/赋值表达式语句 float a=2; //声明的同时初始化变量 /* ...

  2. Java不同长度数组赋值_定义一个数组时可以先不赋初值,但一定要确定数组的长度...

    [多选题]识别层理主要是根据( )这几个方面来识别. [多选题]层理是通过岩石的( )在岩层垂直断面上的突变和渐变所显示出来的一种成层构造. [单选题]在使用JDBC API的PreparedStat ...

  3. 如何给图片赋值_医学数据的变量类型及在SPSS中的赋值方法(医学统计前的重要步骤)——【杏花开医学统计】...

    杏花开生物医药统计 一号在手,统计无忧! 关 注 医学数据的变量类型 及在SPSS中的赋值方法 关键词:医学数据,变量类型,赋值,spss 下方为视频版和音频版,含软件操作步骤 导  读 不同的医学数 ...

  4. python中变量不需要事先声明_第二章 Python 变量

    2.1  Python变量 在 Python 中变量不需要事先声明变量名及其类型,直接赋值即可创建各种变量(不要使用关键字为变量名),例如: >>>x = 4 >>> ...

  5. python中变量名后的逗号_深入浅析python变量加逗号,的含义

    逗号,用于生成一个长度为1的元组 >>> (1) 1 >>> (1,) (1,) >>> 1, (1,) 因此需要将长度为1的元组中元素提取出来可 ...

  6. mysql 变量作表名查询_使用MySQL函数变量作为表名查询

    我需要有一个表中增加一定的ID(如AUTO_INCREMENT)函数使用MySQL函数变量作为表名查询 我有水木清华这样 DELIMITER $$ DROP FUNCTION IF EXISTS `G ...

  7. ECMAScript 6入门 - 变量的解构赋值

    定义 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 解构赋值不仅适用于var命令,也适用于let和const命令. 解构赋值的规则是,只要 ...

  8. ES6学习笔记二 新的声明方式和变量的解构赋值!

    新的声明方式 在ES5的时候,我们只有一个声明方式,var!但是在es6中,声明进行了扩展,我们加上ES5的var的申明方式,我们有了三种声明方式: var:它是variable的简写,可以理解成变量 ...

  9. 定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...

    链接:https://juejin.im/post/5d9bf530518825427b27639d 声明 const命令:声明常量 let命令:声明变量 作用 作用域 全局作用域 函数作用域:fun ...

最新文章

  1. 008 释放技能call分析
  2. mysql客户端版本太低_windows一机多装mysql,5.5低版本+5.8高版本
  3. 六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享
  4. 2017 百度杯丶二月场第一周WP
  5. python wand安装_安装PythonMagick和pythonmagickwand 步骤
  6. 基于 Flink 的典型 ETL 场景实现
  7. PspNet在MMsegmentation框架下成功训练Pascal VOC2012数据集及踩坑实录
  8. ES6——Set和WeakSet
  9. Borland Enterprise Core Object II (ECO II)第一次接觸
  10. xhtml标签和html标签,XHTML常用标签
  11. 使用labelme进行图片语义分割数据的标注(如何转换为训练的灰度图,即像素值为类别值)
  12. 【会议】2009-1-6
  13. 传智播客 回归问题 学习笔记
  14. 在软件项目或者产品中,POC(为观点提供证明)和Demo(样本,示例)的实质区别是什么?
  15. 数据库MDF数据文件数据库恢复
  16. 计算机网络原理(谢希仁第八版)第五章课后习题答案
  17. 日语动词变形(概念明确篇)
  18. JavaScript 编程精解 中文第三版 四、数据结构:对象和数组
  19. 思科模拟器的远程连接交换机的实现
  20. 100多个新媒体人实用网站

热门文章

  1. python代码实现归并排序(Merge Sort )
  2. Object Detection+目标检测概述及其常见模型总结
  3. R语言数据结构之矩阵
  4. 在linux批量删除多级目录下同一格式的文件
  5. postman 接口测试工具介绍
  6. Python控制流---while循环
  7. python平方和计算技巧_Python算法练习题:四平方和
  8. tf.keras.layers.Flatten() 示例
  9. 飞机大战html游戏全代码js、jquery操作
  10. 快速目标检测--YOLO-LITE: A Real-Time Object Detection Algorithm Optimized for Non-GPU Computers