commit 578ba29cc599d8cf3b4248a32e71a28d77daaab9
parent 68f5202eb615c2a27829077ff6022098b2fd9013
Author: Simon Kornblith <simon@simonster.com>
Date: Tue, 5 Mar 2013 15:40:53 -0800
Merge pull request #242 from aurimasv/date
Always return year as number in strToDate
Diffstat:
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/chrome/content/zotero/xpcom/date.js b/chrome/content/zotero/xpcom/date.js
@@ -228,27 +228,27 @@ Zotero.Date = new function(){
var _dayRe = null;
function strToDate(string) {
+ var date = new Object();
+
+ // skip empty things
+ if(!string) {
+ return date;
+ }
+
// Parse 'yesterday'/'today'/'tomorrow'
var lc = (string + '').toLowerCase();
if (lc == 'yesterday' || (Zotero.getString && lc === Zotero.getString('date.yesterday'))) {
- string = Zotero.Date.dateToSQL(new Date(new Date().getTime() - 86400000)).substr(0, 10);
+ string = Zotero.Date.dateToSQL(new Date(Date.now() - 1000*60*60*24)).substr(0, 10);
}
else if (lc == 'today' || (Zotero.getString && lc == Zotero.getString('date.today'))) {
string = Zotero.Date.dateToSQL(new Date()).substr(0, 10);
}
else if (lc == 'tomorrow' || (Zotero.getString && lc == Zotero.getString('date.tomorrow'))) {
- string = Zotero.Date.dateToSQL(new Date(new Date().getTime() + 86400000)).substr(0, 10);
- }
-
- var date = new Object();
-
- // skip empty things
- if(!string) {
- return date;
+ string = Zotero.Date.dateToSQL(new Date(Date.now() + 1000*60*60*24)).substr(0, 10);
+ } else {
+ string = string.toString().replace(/^\s+|\s+$/g, "").replace(/\s+/, " ");
}
- string = string.toString().replace(/^\s+/, "").replace(/\s+$/, "").replace(/\s+/, " ");
-
// first, directly inspect the string
var m = _slashRe.exec(string);
if(m &&
@@ -390,13 +390,16 @@ Zotero.Date = new function(){
// clean up date part
if(date.part) {
- date.part = date.part.replace(/^[^A-Za-z0-9]+/, "").replace(/[^A-Za-z0-9]+$/, "");
+ date.part = date.part.replace(/^[^A-Za-z0-9]+|[^A-Za-z0-9]+$/g, "");
}
if(date.part === "" || date.part == undefined) {
delete date.part;
}
+ //make sure year is always a string
+ if(date.year || date.year === 0) date.year += '';
+
return date;
}
@@ -705,4 +708,4 @@ Zotero.Date = new function(){
}
return _localeDateOrder;
}
-}
-\ No newline at end of file
+}