/ Published in: ActionScript 3
I was working on a project where the timestamp string I was getting from the backend developer was pretty dirty in the way it was formatted. For example, it looked like "/Date(1310127448000+0100)/". I needed to get a nicely formatted time from it in the format hrs:mins
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
var timestampFromBackend:String = "/Date(1310127448000+0100)/"; trace("timestampFromBackend: " + timestampFromBackend); var formattedTime:String = formatedTimeFromTimestamp(timestampFromBackend); trace("formattedTime: " + formattedTime); function formatedTimeFromTimestamp(str:String):String { /* Might get passed something like this ... /Date(1310127448000+0100)/ but it also works if you are passed ... 1310127448000+0100 */ var openBracketIndex:int; var closeBracketIndex:int; if (str.indexOf("(") != -1) { openBracketIndex = str.indexOf("("); } else { openBracketIndex = -1; } if (str.indexOf(")") != -1) { closeBracketIndex = str.indexOf(")"); } else { closeBracketIndex = str.length; } str = str.substring(openBracketIndex + 1, closeBracketIndex); var arr:Array = new Array(); if (str.indexOf("+") != -1) { arr = str.split("+"); str = arr[0]; } else if (str.indexOf("-") != -1) { arr = str.split("-"); str = arr[0]; } var timestampDate:Date = new Date(Number(str)); var hrs:String = String(timestampDate.getHours()); if (hrs.length < 2) { hrs = "0" + hrs; } var mins:String = String(timestampDate.getMinutes()); if (mins.length < 2) { mins = "0" + mins; } str = hrs + ":" + mins; return str; } // OUTPUT // timestampFromBackend: /Date(1310127448000+0100)/ // formattedTime: 13:17