Javascript 从现在开始的时刻输出时间

Javascript 从现在开始的时刻输出时间,javascript,validation,datetime,timezone,momentjs,Javascript,Validation,Datetime,Timezone,Momentjs,我使用“时刻”和“时刻时区”来尝试输出未来时间离现在有多远(在任何时区) 例如,如果输入时间距离现在还有1天和h小时,则输出将类似于: Tomorrow at hh:hh AM 以下是我如何创建我的时刻时区,以及一些示例数据: determineAirTime(dateTime) { console.log(dateTime); // May 12th 2014 8PM dateTime = momentTimezone.tz(dateTime, "MMM Do YY

我使用“时刻”和“时刻时区”来尝试输出未来时间离现在有多远(在任何时区)

例如,如果输入时间距离现在还有1天和h小时,则输出将类似于:

Tomorrow at hh:hh AM
以下是我如何创建我的时刻时区,以及一些示例数据:

  determineAirTime(dateTime) {
    console.log(dateTime); // May 12th 2014 8PM

    dateTime = 
 momentTimezone.tz(dateTime, "MMM Do YYYY hA", momentTimezone.tz.guess());

    console.log(dateTime) // 2014-05-12T20:00:00-04:00
  }
我的问题是将上述时间(2014-05-12T20:00:00-04:00)转换为更可读的格式。例如明天晚上8:00时的
,它考虑了时区

我曾经尝试过
fromNow()
calendar()
,但他们只输出了它将是多少天


如何将我的时刻时区字符串从当前时间转换为精确的日期/天/秒?

您应该小心使用“友好”格式,许多用户觉得它们很烦人。无论如何,您可以使用以下方法:

//为明天13:15:23创建一个日期
var d=新日期();
d、 设置日期(d.getDate()+1);
d、 设定时间(13、15、23);
//显示友好格式
console.log(矩(d.calendar())

感谢您的评论,如果您所说的友好格式是指所有的italtics/等,那么我将它调低了一点。您的解决方案是我尝试过的,但它只输出天数。例如console.log(矩(dateTime.calendar());输出“x天”实际上,我用一些不同的值尝试了它,它似乎有效。我会做更多的测试