2

我正在尝试从以下位置截断 JavaScript Date 对象字符串:

Wed Aug 01 2012 06:00:00 GMT-0700 (Pacific Daylight Time)

Wed Aug 01 2012

(我并不特别,MM/DD/YYYY例如可以是格式,只要我摆脱时间/时区)

本质上我只想摆脱时间和时区,因为我需要===与另一个日期进行比较(不包括时间或时区)

我试过使用这个http://www.mattkruse.com/javascript/date/index.html但它无济于事。有谁知道我如何格式化现有字符串以摆脱时间?我宁愿远离substring功能,但如果这是唯一的选择,那么我想我将不得不解决。

编辑:我愿意接受比较两个日期对象/字符串并true在日期相同且时间不同时返回的选项。

4

2 回答 2

3

在不同浏览器中获取特定日期格式的唯一方法是自己创建。ECMAScript 中的 Date 方法都依赖于实现。

如果你有一个日期对象,那么:

// For format Wed Aug 01 2012
function formatDate(obj) {
  var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
  var months = ['Jan','Feb','Mar','Apr','May','Jun',
               'Jul','Aug','Sep','Oct','Nov','Dec'];    
  return days[obj.getDay()] + ' ' + months[obj.getMonth()] + 
         ' ' + obj.getDate() + ' ' + obj.getFullYear();
}

虽然更广泛使用的格式是 Wed 01 Aug 2012

于 2012-08-13T03:05:59.017 回答
2

使用Date对象的toDateString()方法而不是其toString()方法。

并排演示

即便如此,直接比较两个日期对象可能会更好: Compare two dates with JavaScript

于 2012-08-13T02:02:47.880 回答