Сравнение даты в JScript

#javascript

#javascript

Вопрос:

 var FSO     = new ActiveXObject("Scripting.FileSystemObject");
var BFolder = "C:\temp";
var XFolder = FSO.GetFolder(BFolder "\");
var FList   = new Enumerator(XFolder.Files);
var today   = new Date();

for (; !FList.atEnd(); FList.moveNext()) {

   var d = FList.item().DateLastModified;
   if (d.getMonth() == today.getMonth) { // <----- *

   }
   else {

   }
}
  

Как мне заставить вышеупомянутое сравнение (*) работать?

Комментарии:

1. Вероятно, вам следует добавить свой вопрос к сообщению. Это не совсем очевидно как комментарий в коде

2. Вы также должны подробно описать, как это не «работает».

Ответ №1:

Вероятно, вам следует использовать today.getMonth() вместо today.getMonth И, возможно, заменить

 var d = FList.item().DateLastModified;
  

Автор:

 var d = new Date(FList.item().DateLastModified);
  

Комментарии:

1. Последнее зависит от того, что FList.item().DateLastModified представляет; Я надеюсь, что не произвольную строку, поскольку это не указано и зависит от реализации.

2. переменная d = новая дата (FList.item().DateLastModified); Это то, что мне нужно. Спасибо.

Ответ №2:

Предполагая, что d это Date объект, вы можете сравнивать месяцы таким образом:

 if (d.getMonth() == today.getMonth()) { …
  

(вам нужно вызвать Date.getMonth ).