精华内容
下载资源
问答
  • Moment JS日期时间比较

    千次阅读 2020-06-15 14:49:56
    I'm using moment.js to format my date time, here I have two date values, and I want to achieve a pa

    本文翻译自:Moment js date time comparison

    I'm using moment.js to format my date time, here I have two date values, and I want to achieve a particular function when one date is greater than the other. 我正在使用moment.js格式化日期时间,这里有两个日期值,当一个日期大于另一个日期时,我想实现一种特定的功能。 I read most of their docs, but didn't find the function to achieve this. 我阅读了他们的大多数文档,但没有找到实现此功能的功能。 I know it will be there. 我知道会在那里。

    This is my code: 这是我的代码:

    var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z'
    var d = moment(date_time).tz('UTC'); // first date 
    
    var now = new Date(),
        dnow = moment(now).tz('UTC'),
        snow = dnow.minute() % 15,
        diffnow = 15 - snow,
        tonow = moment(dnow).add('minute', diffnow),
        ahead30now = moment(tonow).add('minute', 30);
    
    if (d > ahead30now) {
        // allow input time
        console.log('UTC TIME DB', d.format());
    } else {
    
    }
    

    Edit 编辑

    var date_time = req.body.date + 'T' + req.body.time + req.body.timezone; // 2014-03-24T01:15:000
    var utc_input_time = moment(date_time).utc(); // 2014-03-24T01:15:000
    console.log('utc converted date_time', moment(date_time).utc().format("YYYY-MM-DDTHH:mm:SSS"));
    var isafter = moment(utc_input_time).isAfter(moment('2014-03-24T01:14:000')); // true
    if(isafter === true){
        console.log('is after true');
    } else {
        console.log('is after is false');
    }
    

    Here, I am comparing two dates ie 2014-03-24T01:15:000 > 2014-03-24T01:14:000 , expecting that the first one is greater than the second one, but it always goes to the else condition. 在这里,我正在比较两个日期,即2014-03-24T01:15:000 > 2014-03-24T01:14:000 ,期望第一个日期大于第二个日期,但是它总是转到else条件。 I don't know why? 不知道为什么


    #1楼

    参考:https://stackoom.com/question/1WpVw/Moment-JS日期时间比较


    #2楼

    You should be able to compare them directly. 您应该能够直接比较它们。

    var date = moment("2013-03-24")
    var now = moment();
    
    if (now > date) {
       // date is past
    } else {
       // date is future
    }
    

     $(document).ready(function() { $('.compare').click(function(e) { var date = $('#date').val(); var now = moment(); var then = moment(date); if (now > then) { $('.result').text('Date is past'); } else { $('.result').text('Date is future'); } }); }); 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <input type="text" name="date" id="date" value="2014-12-18" placeholder="yyyy-mm-dd"> <button class="compare">Compare date to current date</button> <br> <div class="result"></div> 


    #3楼

    I believe you are looking for the query functions , isBefore , isSame , and isAfter . 我相信您正在寻找查询函数 isBeforeisSameisAfter

    But it's a bit difficult to tell exactly what you're attempting. 但是,要准确地说出您要尝试的内容有点困难。 Perhaps you are just looking to get the difference between the input time and the current time? 也许您只是想了解输入时间和当前时间之间的时差? If so, consider the difference function , diff . 如果是这样,请考虑差分函数 diff For example: 例如:

    moment().diff(date_time, 'minutes')
    

    A few other things: 其他一些事情:

    • There's an error in the first line: 第一行有错误:

       var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z' 

      That's not going to work. 那是行不通的。 I think you meant: 我想你的意思是:

       var date_time = '2013-03-24' + 'T' + '10:15:20:12' + 'Z'; 

      Of course, you might as well: 当然,您也可以:

       var date_time = '2013-03-24T10:15:20:12Z'; 
    • You're using: .tz('UTC') incorrectly. 您正在使用: .tz('UTC')错误。 .tz belongs to moment-timezone . .tz属于moment-timezone You don't need to use that unless you're working with other time zones, like America/Los_Angeles . 除非您正在与其他时区一起使用,例如America/Los_Angeles ,否则不需要使用它。

      If you want to parse a value as UTC, then use: 如果要将值解析为UTC,请使用:

       moment.utc(theStringToParse) 

      Or, if you want to parse a local value and convert it to UTC, then use: 或者,如果要解析本地值并将转换为UTC,请使用:

       moment(theStringToParse).utc() 

      Or perhaps you don't need it at all. 或者,也许您根本不需要它。 Just because the input value is in UTC, doesn't mean you have to work in UTC throughout your function. 仅因为输入值使用UTC,并不意味着您必须在整个函数中都使用UTC。

    • You seem to be getting the "now" instance by moment(new Date()) . 您似乎正在moment(new Date())获得“ now”实例moment(new Date()) You can instead just use moment() . 您可以改为使用moment()

    Updated 更新

    Based on your edit, I think you can just do this: 根据您的修改,我认为您可以执行以下操作:

    var date_time = req.body.date + 'T' + req.body.time + 'Z';
    var isafter = moment(date_time).isAfter('2014-03-24T01:14:00Z');
    

    Or, if you would like to ensure that your fields are validated to be in the correct format: 或者,如果您想确保您的字段被验证为正确的格式:

    var m = moment.utc(req.body.date + ' ' + req.body.time, "YYYY-MM-DD  HH:mm:ss");
    var isvalid = m.isValid();
    var isafter = m.isAfter('2014-03-24T01:14:00Z');
    

    #4楼

    Jsfiddle: http://jsfiddle.net/guhokemk/1/ Jsfiddle: http//jsfiddle.net/guhokemk/1/

     function compare(dateTimeA, dateTimeB) {
        var momentA = moment(dateTimeA,"DD/MM/YYYY");
        var momentB = moment(dateTimeB,"DD/MM/YYYY");
        if (momentA > momentB) return 1;
        else if (momentA < momentB) return -1;
        else return 0;
    }
    
    alert(compare("11/07/2015", "10/07/2015"));
    

    The method returns 1 if dateTimeA is greater than dateTimeB 如果dateTimeA大于dateTimeB,则该方法返回1

    The method returns 0 if dateTimeA equals dateTimeB 如果dateTimeA等于dateTimeB,则该方法返回0。

    The method returns -1 if dateTimeA is less than dateTimeB 如果dateTimeA小于dateTimeB,则该方法返回-1。


    #5楼

    pass date to moment like this it will compare and give result. 这样传递日期到瞬间,它将进行比较并给出结果。 if you dont want format remove it 如果您不想格式化,请将其删除

    moment(Date1).format("YYYY-MM-DD") > moment(Date2).format("YYYY-MM-DD")
    

    #6楼

    moment(d).isAfter(ahead30now); // true
    

    http://momentjs.com/docs/#/query/is-after/ http://momentjs.com/docs/#/query/is-after/

    if (moment(d).isAfter(ahead30now)) {
        // allow input time
        console.log('UTC TIME DB', d.format());
    } else {
    
    }
    
    展开全文
  • Moment 进行日期比较 格式化日期

    万次阅读 2018-04-12 16:19:58
    【官方moment.js文档】1、Js代码var validateQualityDate = (rule, value, callback) =&gt; { var t1 = moment(this.form.purchaseDate).format("YYYY-MM-DD") var t2 = moment(value).format...

    【官方moment.js文档】

    1、Js代码

    var validateQualityDate = (rule, value, callback) => {
    				var t1 = moment(this.form.purchaseDate).format("YYYY-MM-DD")
    				var t2 = moment(value).format("YYYY-MM-DD")
    				console.log("购买日期:",t1)
    				console.log("检测日期:",t2)
    				console.log("比较:",moment(t2).isBefore(t1))
    				if (moment(t2).isBefore(t1)){
    						console.log("购买",t1)
    						console.log("检测",t2)
    		            return callback(new Error('检测日期不得小于购买日期!'));
    		        }else {
    		          callback();
    		        }
    		    };

    console.log打印结果:


    利用moment可以对时间进行比较moment('2018-04-12').isBefore('2018-04-12')

    展开全文
  • momentjs 日期转换

    2021-06-05 13:33:37
    http://momentjs.cn/ js日期处理类库

    很好用的时间转换插件,推荐一下~

    // http://momentjs.cn/   js日期处理类库
    
    npm install moment --save
    
    import moment from 'moment'
    
    // 获取当前日期
    moment().format('YYMMDD') //20210605 // 格式任意变 YY-MM-DD 2021-06-05
    
    // 获取昨天日期
    moment().subtract(1, 'day').format('YYMMDD') //20210604
    

     


     

    展开全文
  • 使用moment格式化日期

    万次阅读 多人点赞 2018-09-28 11:59:01
    案例:本例是在react-native中格式化日期 1,引入moment 2,使用moment 例如:let startDate = moment('2018-09-27').format(YYYY-MM-DD); moment使用详解: 格式化日期 当前时间: moment().format('...

    案例:本例是在react-native中格式化日期

    1,引入moment

    2,使用moment

    例如:let startDate = moment('2018-09-27').format(YYYY-MM-DD);

    moment使用详解:

    格式化日期

    当前时间:

    moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09 
    • 今天是星期几:
    moment().format('d'); //3 
    • 转换当前时间的Unix时间戳:
    moment().format('X'); 

    相对时间

    20120901相对当前日期是2年前

    moment("20120901", "YYYYMMDD").fromNow(); //2 years ago      
    • 7天前的日期:
    moment().subtract('days',7).format('YYYY年MM月DD日'); //2014年10月01日
    • 7天后的日期:
    moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日
    • 9小时前的时间:
    moment().subtract('hours',9).format('HH:mm:ss'); 
    • 9小时后的时间:
    moment().add('hours',9).format('HH:mm:ss'); 
    • moment.js提供了丰富的说明文档,使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间,下面我把常用的格式制作成表格说明供有需要的朋友查看
    格式代码说明返回值例子
    M数字表示的月份,没有前导零1到12
    MM数字表示的月份,有前导零01到12
    MMM三个字母缩写表示的月份Jan到Dec
    MMMM月份,完整的文本格式January到December
    Q季度1到4
    D月份中的第几天,没有前导零1到31
    DD月份中的第几天,有前导零01到31
    d星期中的第几天,数字表示0到6,0表示周日,6表示周六
    ddd三个字母表示星期中的第几天Sun到Sat
    dddd星期几,完整的星期文本从Sunday到Saturday
    w年份中的第几周如42:表示第42周
    YYYY四位数字完整表示的年份如:2014 或 2000
    YY两位数字表示的年份如:14 或 98
    A大写的AM PMAM PM
    a小写的am pmam pm
    HH小时,24小时制,有前导零00到23
    H小时,24小时制,无前导零0到23
    hh小时,12小时制,有前导零00到12
    h小时,12小时制,无前导零0到12
    m没有前导零的分钟数0到59
    mm有前导零的分钟数00到59
    s没有前导零的秒数1到59
    ss有前导零的描述01到59
    XUnix时间戳1411572969

    Moment.js 写法示例

    Moment.js 是我用过的最好用的操作时间的工具库。它使得操作时间变得很简单。

    创建

    moment() // 当前时间
    moment("1995-12-25") // 1995-12-25
    moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
    moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
    moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天
    moment(new Date(2011, 9, 16)) // 2011-10-16

    格式化

    moment().format('YYYY年MM月DD日 HH:mm:ss') // 2016年11月11日 22:05:19
    moment().format('hh:m:ss') // 10:5:19
    moment().format('[YYYY]') // "YYYY"。[] 里的会原样输出。

    转化成 Date 对象

    moment().toDate()

    获取/设置时间信息

    moment().second() //获得 秒
    moment().second(Number) //设置 秒。0 到 59
    moment().minute() //获得 分
    moment().minute(Number) //设置 分。0 到 59
    // 类似的用法
    moment().hour() // 小时
    moment().date() // 一个月里的第几天
    moment().day() // 星期几
    moment().dayOfYear() // 一年里的第几天
    moment().week() // 一年里的第几周
    moment().month() // 第几个月
    moment().quarter() // 一年里的第几个季度
    moment().year() // 年
    moment().daysInMonth() // 当前月有多少天

    操作

    moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
    moment().add(7, 'd')// 与上面一行代码的运行结果一样。
    moment().subtract(1, 'months') // 上个月
    
    moment().startOf('week') // 这周的第一天
    moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
    // 还支持 'year','month' 等
    
    moment().endOf('week')

    查询

    // 早于
    moment('2010-10-20').isBefore('2010-10-21') // true
    moment('2010-10-20').isBefore('2010-12-31', 'year') // false
    moment('2010-10-20').isBefore('2011-01-01', 'year') // true
    
    // 是否相等
    moment('2010-10-20').isSame('2010-10-20') // true
    moment('2010-10-20').isSame('2009-12-31', 'year')  // false
    moment('2010-10-20').isSame('2010-01-01', 'year')  // true
    
    // 晚于
    moment('2010-10-20').isAfter('2010-10-19') // true
    moment('2010-10-20').isAfter('2010-01-01', 'year') // false
    moment('2010-10-20').isAfter('2009-12-31', 'year') // true
    
    // 是否在时间范围内
    moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
    moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
    moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
    
    moment().isLeapYear() // 是否是闰年

     

    展开全文
  • moment 计算日期

    千次阅读 2019-07-31 17:27:01
    内容来自文档 ...moment().diff(Moment|String|Number|Date|Array); moment().diff(Moment|String|Number|Date|Array, String); moment().diff(Moment|String|Number|Date|Array, String, Boolean);...
  • 日期日期范围。 安装 瞬间范围可在浏览器和。 节点/ NPM 通过npm安装: npm install --save moment-range ES6: import Moment from 'moment' ; import { extendMoment } from 'moment-range' ; const moment =...
  • 使用moment获取日期时间

    千次阅读 2020-11-02 09:58:14
    moment().format("YYYY-MM-DD HH:mm:ss"); //当前时间 moment().subtract(10, "days").format("YYYY-MM-DD"); //当前时间的前10天时间 moment().subtract(1, "years").format("YYYY-MM-DD"); //当前时间的前1年...
  • 代码如下: 先导入 import moment from 'moment'; Vue.prototype.$moment = moment;...this.$moment(日期).valueOf(); 将日期转成时间戳(毫秒级的) this.$moment(时间戳).format('YYYY-MM-DD HH:mm:ss') ...
  • moment日期格式化

    2019-05-06 10:40:26
    moment日期格式化 filters:{ dateFrm(el) { return moment(el).format('MM-DD h:mm'); } } 使用过滤 <span>{{item.createdTime | dateFrm}}</span>
  • 主要用到日期的格式化和日期的加减 const moment = require('moment') console.log(moment(1553753741000).format("YYYY-MM-DD HH:mm:SS")); // 2019-03-28 14:15:00 console.log(moment(new Date('2020/03/04 12:...
  • moment判断日期时间是否在另一个日期时间之前 var q = '2019-11-22 15:30:00'; var w = '2019-11-22 15:29:59'; let a = moment(q).isBefore(w); //false let b = moment(w).isBefore(q); //true ...
  • moment日期处理库

    2018-10-27 15:33:05
    Javascript 日期处理类库 (moment.js...前天在实现日期选择器引用moment日期处理库,觉得有必要将常用的方法记录下来,特此一记。(首发一文) 取值 // 2018-10-27 moment().format('YYYY-MM-DD') // 获取年、月、日、...
  • Vue JavaScript moment 格式化日期 获取 开始日期、结束日期 格式化日期 let start = new moment().format('YYYY-MM-DD'),; 转换为时间戳 let start = new Date(new moment().format('YYYY-MM-DD')); 获取...
  • 1.下载 npm i moment -S 2.在main.js中导入moment组件 ...3.在main.js中格式化日期的过滤器 Vue.filter(‘dataFormat’,function(dataStr, pattern = ‘YYYY-MM-DD HH:MM’){ return Moment(dataStr).format(patt...
  • 基于moment.js日期选择器插件是一款DatePicker是基于moment.js的日期选择器插件,支持小时、日、周、月、季、年的日期选择方式。
  • moment 时间日期处理库 解析部分

    千次阅读 2019-07-21 21:41:03
    moment 官方api 1. 安装导入 1.1 安装 npm install moment -g # 全局安装 npm install moment # 安装 1.2 导入 //require 方式 var moment=require('moment'); //import 方式 import moment from 'moment'; 1.3 ...
  • moment 格式化日期

    2018-04-16 14:36:47
    安装: npm install moment --save ...import moment from 'moment' 代码: &amp;lt;el-table :data=&quot;tableData&quot; v-loading.body=&quot;loading&quot; ...
  • 导入moment import moment from 'moment'; 使用方式 年月日,时分秒 moment().format('YYYY-MM-DD HH:mm:ss'); // 2019-08-23 21:03:43 星期几 moment().format('d'); // 4 相对时间 moment("20130823...
  • console.log(moment('2020-01-01').format('YYYY-MM-DD')); console.log(moment('2020-01-01').format('YYYY-M-D')); console.log(moment('2020-01-01 08:05:03').format('YYYY-MM-DD HH:mm:ss')); console.log...
  • import moment from 'moment'; 调用: npm install moment var moment = require('moment'); moment().format(); 注意:在2.4.0,全局导出的时刻对象已被弃用。将在下一个主要版本中删除。 示例:...
  • ionic中时间日期moment

    2019-11-27 16:09:07
    获取传入时间最近7天的日期 moment(‘2019-11-27 00:23:45’,“YYYY-MM-DD HH:mm:ss”).subtract(6, ‘days’) 当前时间最近7天日期 moment().subtract(‘days’, 6).format(‘YYYY-MM-DD’); 本月第一天 moment()....
  • moment日期时间处理

    2020-06-08 16:36:29
    moment()方法处理时间 比较全面的讲解: https://blog.csdn.net/qq_38933412/article/details/82879127 https://blog.csdn.net/Fiona_lms/article/details/86478516 前面在项目中遇到一个关于获取月初和月底时间的...
  • 轻松搞定日期格式化,日期转换,免去写format字符串的麻烦,就能返回你想要的格式,提供多个方法,提供扩展功能,可以继承此类,并扩展方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,707
精华内容 4,282
关键字:

moment比较日期