2011-08-18 5 views
1

Je souhaite créer un objet date js basé sur des chaînes au format YYYYMMDD et HHMMSS.js date objet basé sur des chaînes

function makeTimeStamp(myDate, MyTime){ 
    // myDate format YYYYMMDD 
    // myTime format HHMMSS 
    var YYYY = myDate.substring(0, 3); 
    var MM = myDate.substring(4, 5); 
    var DD = myDate.substring(6,7); 

    var HH = myTime.substring(0,1); 
    var MM = myTime.substring(2,3); 
    var SS = myTime.substring(4,5); 
     jsDate = 
} 
+0

Et quelle est votre question? – maerics

Répondre

0

Si vous vouliez dire à la création d'un objet Date pour année, mois, jour, heures, minutes et secondes, vous pouvez utiliser new Date(year, month - 1, day, hours, minutes, seconds) pour créer une instance de date pour cela. Notez que le mois est basé sur 0, janvier est 0, le 1er février, etc. D'où le MM - 1;

function stringToDate(myDate, myTime){ 
    // myDate format YYYYMMDD 
    // myTime format HHMMSS 
    var YYYY = myDate.substr(0, 4); 
    var MM = myDate.substr(4, 2); 
    var DD = myDate.substr(6, 2); 

    var HH = myTime.substr(0, 2); 
    var mm = myTime.substr(2, 2); 
    var SS = myTime.substr(4, 2); 

    var jsDate = new Date(YYYY, MM - 1, DD, HH, mm, SS); 
    return jsDate; 
} 

// returns a Date object for given date and time 
var jsDate = stringToDate("20110818", "191500"); 
// returns 1313687700000 
var timestamp = jsDate.getTime(); 

Notez que j'utilise string.substr(start_position, length) comme vous pouvez facilement voir la longueur de la valeur retournée.

0

Vous pouvez convertir ces formats de date et heure dans le format ISO assez facilement (par exemple « 2011-08-18T12:34:56 ») et utiliser une expression régulière pour assurer que les arguments sont correctement mis en forme:

function makeTimestamp(myDate, myTime) { 
    var ds = myDate.match(/^(\d{4})(\d\d)(\d\d)$/) 
    , ts = myTime.match(/^(\d\d)(\d\d)(\d\d)$/); 
    if (!ds || !ts) { return null; } 
    return new Date(ds.slice(1,4).join("-") + "T" + ts.slice(1,4).join(":")); 
} 

var d = makeTimestamp('20110818', '123456'); 
d // => Fri Aug 19 2011 12:34:56 GMT-0400 (EDT) 
0

Vous pouvez essayer cette : timeSolver.js

var date = new Date(); 
var dateString = timeSolver.getString(date, "YYYYMMDD HHMMSS"); 

Vous pouvez obtenir chaîne de date en utilisant cette méthode:

getString (date, format)

Espérons que cela vous aidera!

Questions connexes