【问题标题】:How to define date objects in JavaScript? [duplicate]如何在 JavaScript 中定义日期对象? [复制]
【发布时间】:2015-11-22 02:31:27
【问题描述】:

我将日期作为字符串值存储在变量 sDate 和 eDate 中。我必须在 java 脚本中比较它们。在比较日期之前,我必须将它们定义为 Date 对象。我试着用这个:

var jsObj = {};
<cfoutput query="getQuery">
jsObj["#year#_#Id#"].startdate = "#DateFormat(sDate,'mm/dd/yyyy')#";
jsObj["#year#_#Id#"].enddate = "#DateFormat(eDate,'mm/dd/yyyy')#";
</cfoutput>

var sDate = new Date('mm/dd/yyyy');
var eDate = new Date('mm/dd/yyyy');

if(aartemp[1] == bldg){
    if(jsObj[key].startdate == sDate || jsObj[key].enddate == eDate){
        alert('Error!');
    }
}

当我尝试打印未定义的值 sDate 时出现错误。如果你知道我应该改变什么,请告诉我。

【问题讨论】:

  • new Date('mm/dd/yyyy'); - 你认为这有什么作用?
  • 字符串文字中的# 是什么?你用的是什么服务器端模板引擎,输出的 JS 是什么样子的?
  • 使用momentjs 处理日期
  • 我使用来自 ColdFusion 的 # 个表单值。
  • #DateFormat()# 将什么输出到您的模板中?它是 'mm/dd/yyyy' 格式的日期值吗?

标签: javascript


【解决方案1】:

您必须用数字替换字符,表示new Date('mm/dd/yyyy') 中的真实日期,例如new Date('05/05/2015').

【讨论】:

    【解决方案2】:

    当您调用 Date() 构造函数时,您需要将一个值传递给它以生成日期 - 而不是用于格式化日期的模板。您可以通过调用 Date() 创建一个 Date 对象,它为您提供当前日期/时间,或者您需要提供一些值来创建日期。以下是来自MDN page for the Date object 的一些示例:

    var today = new Date();
    var birthday = new Date('December 17, 1995 03:24:00');
    var birthday = new Date('1995-12-17T03:24:00');
    var birthday = new Date(1995, 11, 17);
    var birthday = new Date(1995, 11, 17, 3, 24, 0);
    

    如果 "#DateFormat(sDate,'mm/dd/yyyy')#" 以 'mm/dd/yyyy' 格式输出日期,您可以使用它来初始化您的日期:

    <cfoutput query="getQuery">
    jsObj["#year#_#Id#"].startdate = "#DateFormat(sDate,'mm/dd/yyyy')#";
    jsObj["#year#_#Id#"].enddate = "#DateFormat(eDate,'mm/dd/yyyy')#";
    </cfoutput>
    
    var sDate = new Date(jsObj["#year#_#Id#"].startdate);
    var eDate = new Date(jsObj["#year#_#Id#"].enddate);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-13
      • 2017-02-19
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多