【问题标题】:convert javascript date to julian date [duplicate]将javascript日期转换为朱利安日期[重复]
【发布时间】:2013-12-03 08:31:00
【问题描述】:

在 javascript 中,我在客户端页面上有一个起始日期输入和一个截止日期输入,我正在实现两个输入之间的验证。 to date 应该大于 from date,我的解决方案是将它们转换为 Julian 日期然后比较它们,如何将 javascript 日期转换为 Julian 日期?

【问题讨论】:

标签: javascript


【解决方案1】:

你不需要 Julian Date 来比较。

您需要 Date.parse() 函数或通过比较运算符进行比较。它将返回自 01/01/1970 00:00 以来经过的毫秒数

有点像这样:

if(Date.parse(fromDate) < Date.parse(toDate){
   //start is less than End
}else{
   //end is less than start
}

这是Fiddle

【讨论】:

  • 这没有回答完整的问题。特别是:“如何将 javascript 日期转换为 Julian 日期?”
  • 除非是XY problem
  • 朱利安日期的公式在维基百科上,这很容易自己查找,但更漂亮的解决方案是使用日期函数
【解决方案2】:

日期比较不需要儒略日期,只需创建两个 JavaScript Date 对象并直接比较它们即可。

您也可以在不创建 Date 对象的情况下比较它们,将它们作为字符串进行比较,如果您利用字符串逐个字符比较的事实,如果您以可排序的方式“格式化”它们,f.e. YYYY-MM-DD HH:MM:SS。逐个字符比较时,2013-12-03 10:00:052013-12-03 09:47:23“更大”。

【讨论】:

    【解决方案3】:

    您不需要转换为朱利安日期!

    在javascript中:

    function isInRange(startD , date, endD ){
        return startD <= date && date <= endD;
    }
    
    var startD = new Date('11/01/2013');
    var endD = new Date('11/30/2013');
    var date = new Date('11/25/2013');
    
    
    alert(  isInRange(startD , date, endD ) );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多