Pass dates to api as milliseconds since 1970 to get correct timezone information

Transactions
= 2017-09-19 22:43:04 -06:00
parent 4417065a15
commit 28ae4b2ebe
5 changed files with 10 additions and 30 deletions

View File

@ -16,7 +16,7 @@ export class EventService {
}
getEvents(page: number): Observable<Event[]> {
let url = EVENTS_BY_PAGE_URL + page + "?pageSize=" + 10;
let url = EVENTS_BY_PAGE_URL + page + "?pageSize=" + 10 + "&date=" + (new Date()).getTime().toString();
return this.http.get(url).map(this.gotData,this).catch(this.dataError)
};
@ -29,11 +29,8 @@ export class EventService {
let fd = new FormData();
fd.append("title",event.title);
fd.append("description",event.description);
fd.append("startDate",event.startDate.getTime().toString());
fd.append("endDate",event.endDate.toLocaleString());
var milli = event.startDate.getTime().toString();
console.log(new Date(milli).toLocaleString());
fd.append("startDate",new Date(event.startDate).getTime().toString()); //Pass date as milliseconds since 1970
fd.append("endDate",new Date(event.endDate).getTime().toString()); //Pass date as milliseconds since 1970
return this.http.post(EVENTS_ADD_URL,fd,{withCredentials:true})
.map(d=>{ return d.json(); })

View File

@ -47,13 +47,10 @@ export class SermonService {
let fd = new FormData();
fd.append("title",sermon.title);
fd.append("description",sermon.description);
fd.append("date",sermon.sermonDate.toISOString());
fd.append("date",new Date(sermon.sermonDate).getTime().toString()); //Pas date as milliseconds since 1970
fd.append("author",sermon.author);
fd.append("file",sermonFile);
console.log(sermon.sermonDate.toISOString());
return this.http.post(SERMON_ADD_URL,fd,{withCredentials:true})
.map(d=>{ return d.json(); })
.catch(this.dataError);

View File

@ -56,11 +56,9 @@ exports.insertEvent = function(titleOrEventObject, startDateOrCallbackFunction,
insertEventFromObject(titleOrEventObject, startDateOrCallbackFunction);
return;
}
//date string needs to be in the following format: yyyy-mm-dd-hh-mm
console.log("start date: " + startDateOrCallbackFunction);
var startDte = new Date(startDateOrCallbackFunction);
console.log("new start date: " + startDte);
var endDte = new Date(endDate);
//Date is passed as milliseconds since 1970 so we will convert it to a date object
var startDte = new Date(+startDateOrCallbackFunction);
var endDte = new Date(+endDate);
connection.query("INSERT INTO Events (CreatedDate,ModifiedDate,Id,Title,StartDate,EndDate,Description) VALUES(CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,NULL,?,?,?,?)",[titleOrEventObject,startDte,endDte,description],function(error,result){
if (error){
console.log(error);

View File

@ -80,8 +80,8 @@ exports.insertSermon = function(dateOrSermonObject, titleOrCallbackFunction, aut
insertSermonFromObject(dateOrSermonObject,titleOrCallbackFunction);
return;
}
dateOrSermonObject = new Date(dateOrSermonObject);
//Date is passed in as milliseconds from 1970 so we will convert it here
dateOrSermonObject = new Date(+dateOrSermonObject);
connection.query("INSERT INTO Sermons (CreatedDate,ModifiedDate,Id,Date,Title,Author,Description,File) VALUES(?,CURRENT_TIMESTAMP,NULL,?,?,?,?,?)",[new Date,dateOrSermonObject,titleOrCallbackFunction,author,description,file],function(error,result){
if (error){
console.log(error);

View File

@ -108,22 +108,10 @@ function getEventMeta(req, res, id){
return;
}
console.log("Start");
console.log(event.startDate.toString());
console.log(event.startDate.getTimezoneOffset());
var monthNum = event.startDate.getMonth();
var monthName = MONTHS_FULL[monthNum];
var day = event.startDate.getDate();
var year = event.startDate.getYear();
var hour = event.startDate.getHours();
var minutes = event.startDate.getMinutes();
var time = event.startDate.getTime();
var utc = event.startDate.getTime() + (event.startDate.getTimezoneOffset() * 60000);
//mountain time zone offset
var nd = new Date(utc + (3600000*-6));
var port = req.socket.localPort;
var imageUrl = req.protocol + "://" + req.hostname + calendarImageUrl + monthName + "/" + day;
@ -137,7 +125,7 @@ function getEventMeta(req, res, id){
<meta property="og:url" content="`+ evntUrl +`"/>
<meta property="og:type" content="website" />
<meta property="og:title" content="` + event.title + `" />
<meta property="og:description" content="` + dateToString(nd) + ` | ` + event.description + `" />
<meta property="og:description" content="` + event.startDate.toString() + ` | ` + event.description + `" />
<meta property="og:image" content="` + imageUrl + `"/>
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />