<template>
<div id="app" style="text-align: center;">
<h1>{{ msg | format}}</h1>
</div>
</template> <script>
import moment from 'moment'
import 'moment/locale/zh-cn'
moment.locale('zh-cn')
export default {
name: 'app',
data () {
return {
msg: new Date
}
},
filters:{
format(val){
// return moment(val).calendar() //默认为英文、引入后设置格式
// return moment(val).format('YYYY年MM月DD日') //自定义方案1,简写:LL 或 ll
// return moment(val).format('YYYY-MM-DD HH:mm:ss') //大写HH为24小时制,小写dd为星期
// return moment(val).format('hh:mm:ss a') //12小时制
// return moment(val).format('YYYYMMDDHHmmss') //纯数字日期
// return moment(val).subtract(1, "days").format("YYYY-MM-DD HH:mm:ss") //1天前(add:后):weeks、months、years、hours、minutes、seconds
// return moment(val).format("LLLL") //全中文日期
// return moment(val).format("dddd") //获取星期
// return moment(val).valueOf() //完整的时间戳
// return moment(val).format('X') //秒结尾
// return moment(val).format('x') //毫秒结尾
return moment(val).format('LLLL')
}
}
}
</script>

常用时间范围设置:

//获取本日、本周week、本月month、本年year,注意没有yesterday,可以通过subtract(1,'days')设置,这里带xxx-s!!!
const startDate = moment().startOf('day').format('YYYY-MM-DD HH:mm:ss');
const startDate = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss');

如果是从今天开始到80年后:

[moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),moment().endOf('day').add(80, "years").format('YYYY-MM-DD HH:mm:ss')],// 当前时间2019-12-25 00:00:00——2099-12-31 23:59:59

【模板】:

const pickerOptionsTime = {
shortcuts: [
{
text: '昨天',
onClick (picker) {
const date = [moment().startOf('day').subtract(1, "days").format('YYYY-MM-DD HH:mm:ss'),moment().endOf('day').subtract(1, "days").format('YYYY-MM-DD HH:mm:ss')]
picker.$emit('pick', date)
}
}, {
text: '当天',
onClick (picker) {
const date = [moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')]
picker.$emit('pick', date)
}
}, {
text: '本周',
onClick (picker) {
const date = [moment().startOf('week').format('YYYY-MM-DD HH:mm:ss'),moment().endOf('week').format('YYYY-MM-DD HH:mm:ss')]
picker.$emit('pick', date)
}
}
]
}

封装的elementUI搜索表单:

<template>
<div class="search-text-form">
<el-form style="display:inline-block" inline :model="param" :rules="rules" ref="param">
<el-form-item label="起止时间:" class="search-text-form-item" prop="time">
<el-date-picker
clearable
id="popover_select_time"
v-model="param.time"
type="datetimerange"
:picker-options="pickerOptions"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
/>
</el-form-item>
<el-form-item label="任务状态:" class="search-text-form-item" prop="status">
<el-select
id="popover_select_status"
v-model="param.status"
placeholder="请选择任务状态"
clearable
>
<el-option
style="text-align: center;"
v-for="(item,index) in statusOptions"
:key="index"
:label="item.cname"
:value="item.ename"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字:" class="search-text-form-item" prop="kwd">
<el-input
id="popover_select_kwd"
style="width: 180px;"
v-model="param.kwd"
placeholder="多个关键字,使用空格分开"
clearable
/>
</el-form-item>
<el-form-item class="search-text-form-item">
<el-button
round
id="popover_select_clear"
:disabled="disabledSearch"
@click="searchFormChange('clear')"
>清空</el-button>
<el-button
round
id="popover_select_search"
style="float: right"
type="primary"
plain
@click="searchFormChange(param)"
>查询</el-button>
</el-form-item>
</el-form>
</div>
</template> <script>
import { pickerOptionsTime } from "@/utils/appManage"; // 公共的匹配值
export default {
props: {
param: {
type: Object,
default() {
return {
time: [],
status: "",
kwd: ""
};
}
}
},
computed: {
rules(){
return {
time: [
{ required: false, message: '请选择起止时间', trigger: 'select' ,type:'array'}
],
status: [
{ required: true, message: '请选择任务状态', trigger: 'select'}
],
kwd: [
{ required: false, message: '空格隔开,不可为空', trigger: 'blur' }
]
}
},
statusOptions(){
return [
{cname:'成功',ename:'success'},
{cname:'失败',ename:'fail'},
{cname:'运行中',ename:'running'},
{cname:'待调度',ename:'tobescheduled'},
{cname:'已终止',ename:'killed'},
]
},
pickerOptions(){
return pickerOptionsTime ||[]
},
disabledSearch() {
return !(this.param.status || this.param.kwd || (Array.isArray(this.param.time) && this.param.time.length > 0)
);
}
},
methods: {
searchFormChange(val) {
console.log(val,6666);
if(val==='clear'){
for(let key in this.param){
this.param[key] = key==='time'?[]:''
}
}else{
this.$refs['param'].validate((valid) => {
if (valid) {
this.$emit('call-back',val)
}
})
}
}
},
};
</script>

moment——日期格式化常用示例的更多相关文章

  1. 一个JS的日期格式化算法示例

    一个JS的日期格式化算法. 例子: <script> /** * Js日期格式化算法实例 * by www.jbxue.com */ function dateFormat(date, f ...

  2. python 日期格式化常用标记

    符号   说明             例子    %a  英文星期的简写 Mon  %A  英文星期的完整编写 Monday  %b  英文月份的简写 Jun  %B  英文月份的完整编写 June ...

  3. Java自学-日期 日期格式化

    Java中使用SimpleDateFormat 进行日期格式化类 SimpleDateFormat 日期格式化类 示例 1 : 日期转字符串 y 代表年 M 代表月 d 代表日 H 代表24进制的小时 ...

  4. 常用SQL之日期格式化和查询重复数据

    本文列举一些工作中常用的SQL,以提升工作效率. 1 日期格式化 使用 DATE_FORMAT(get_date, '%Y-%m-%d') 函数进行格式化.其中:get_date 是需要被格式化的字段 ...

  5. Java SE基础部分——常用类库之SimpleDateFormat(日期格式化)

    取得当前日期,并按照不同日期格式化输入.代码如下: // 20160618 SimpleDateFomat类的使用 日期格式化 练习 package MyPackage; //自己定义的包 impor ...

  6. javascript常用开发笔记:一个简单强大的js日期格式化方法

    前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...

  7. django datetime format 日期格式化

    django datetime format 日期格式化 www.jx-lab.com python 中 date,datetime,time对象都支持strftime(format)方法,但有一些区 ...

  8. php日期格式化方法详解

    php日期格式化一般使用date()来完成,此函数的声明及定义如下图所示,其参数有很多,这里按常用的年.月.日.时.分.秒.星期来简单介绍. date(format,timestamp) 一.年.月. ...

  9. C# DateTime日期格式化

    在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...

随机推荐

  1. 使用wsimport生成webservice客户端代码

    服务端 package com.xc.webservice; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebServic ...

  2. C#子线程执行完后通知主线程(转)

    其实这个比较简单,子线程怎么通知主线程,就是让子线程做完了自己的事儿就去干主线程的转回去干主线程的事儿.  那么怎么让子线程去做主线程的事儿呢,我们只需要把主线程的方法传递给子线程就行了,那么传递方法 ...

  3. Go 自定义包引入报错

    配置文件 GO111MODULE=on 设置为on时,go命令行会使用modules,而一点也不会去GOPATH目录下查找.但自定义包在 $GOPATH/github.com/winyh/strrev ...

  4. TrippleDESCSPEncrypt 加密解密试试看

    public class TrippleDESCSPEncrypt { //12个字符 private static string customIV = "4vHKRj3yfzU=" ...

  5. 【Leetcode_easy】665. Non-decreasing Array

    problem 665. Non-decreasing Array 题意:是否能够将数组转换为非减数组. solution: 难点在于理解如何对需要修改的元素进行赋值: class Solution ...

  6. Pyhthon3之使用__slots__

    正常情况下,我们定义了一个class,创建了一个class实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> class Student( ...

  7. iOS-AVFoundation生成缩略图

    使用MPMoviePlayerController来生成缩略图足够简单,但是如果仅仅是是为了生成缩略图而不进行视频播放的话,此刻使用 MPMoviePlayerController就有点大材小用了.其 ...

  8. 【c# 学习笔记】显示接口实现方法

    在接口  一张中,使用了隐式的接口实现方式,即在实现代码中没有制定实现那个接口中的CompareTo方法.相应地,自然就有显式的 接口实现方式,它指的是在实现过程中,明确指出实现哪一个接口中的哪一个方 ...

  9. tomcat性能优化参数

    线上环境使用默认tomcat配置文件,性能很一般,为了满足大量用户的访问,需要对tomcat进行参数性能优化,具体优化的地方如下: Linux内核的优化 服务器资源JVM 配置的优化 Tomcat参数 ...

  10. CentOS使用yum安装jdk

    1.查看系统版本命令 cat /etc/issue 2.查看yum包含的jdk版本 yum search java 或者 yum list java* 版本 jre jdk 1.8 java-1.8. ...