From 1eb9202233d7f3daa3a6ebcdbfc82dfbb0ef2d24 Mon Sep 17 00:00:00 2001 From: Ross Boucher Date: Tue, 24 Nov 2009 22:56:18 -0500 Subject: [PATCH] A few style guideline changes. --- Foundation/CPDate.j | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Foundation/CPDate.j b/Foundation/CPDate.j index 16d82f52f..3dd164157 100644 --- a/Foundation/CPDate.j +++ b/Foundation/CPDate.j @@ -103,23 +103,21 @@ var CPDateReferenceDate = new Date(Date.UTC(2001,1,1,0,0,0,0)); */ - (id)initWithString:(CPString)description { - var format = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) ([-+])(\d{2})(\d{2})/; - var d = description.match(new RegExp(format)); + var format = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) ([-+])(\d{2})(\d{2})/, + d = description.match(new RegExp(format)); - if (d == null || d.length != 10) + if (!d || d.length != 10) [CPException raise:CPInvalidArgumentException reason:"initWithString: the string must be of YYYY-MM-DD HH:MM:SS ±HHMM format"]; - var date = new Date(d[1], d[2]-1, d[3]); + var date = new Date(d[1], d[2]-1, d[3]), + timeZoneOffset = (Number(d[8]) * 60 + Number(d[9])) * (d[7] === '-' ? -1 : 1); + date.setHours(d[4]); date.setMinutes(d[5]); date.setSeconds(d[6]); - - var tzOffset = Number(d[8]) * 60 + Number(d[9]); - if (d[7] == '-') - tzOffset = -tzOffset; - self = new Date(date.getTime() + (tzOffset - date.getTimezoneOffset()) * 60 * 1000); + self = new Date(date.getTime() + (timeZoneOffset - date.getTimezoneOffset()) * 60 * 1000); return self; } @@ -179,8 +177,9 @@ var CPDateReferenceDate = new Date(Date.UTC(2001,1,1,0,0,0,0)); */ - (CPString)description { - var hours = Math.floor(self.getTimezoneOffset() / 60); - var minutes = self.getTimezoneOffset() - hours * 60; + var hours = Math.floor(self.getTimezoneOffset() / 60), + minutes = self.getTimezoneOffset() - hours * 60; + return [CPString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d +%02d%02d", self.getFullYear(), self.getMonth()+1, self.getDate(), self.getHours(), self.getMinutes(), self.getSeconds(), hours, minutes]; }