2017-09-02 1 views
-5

J'ai essayé de convertir la chaîne en entier en utilisant parseInt et parseFloat. Mais ma valeur de chaîne est "+05: 30" tout en utilisant parseInt ou parseFloat elle le convertit en 5, mais j'ai besoin d'une conversion exacte en 5.30. Comment pourrais-je faire ça?comment convertir "05:30" Chaîne valeur en entier en utilisant javascript

Mon exemple de code est:

User.findAll({attributes: ['UTC offset'], 
        where: { 
         Timezone: { $like: '%'+address } 
        } 
       }).then(TimeZoneData => { 
        if(TimeZoneData.length != 0) { 
         var offset = parseFloat(TimeZoneData[0].dataValues['UTC DST offset']), // it return 5 only 
        } 
+1

s'il vous plaît spécifier seulement ** un ** résultat que vous souhaitez obtenir. –

+0

Ok j'ai besoin de 5h30. Je ne sais pas exactement comment 05:30 offset converti en entier. Thats yi a mentionné les deux résultats –

+0

J'ai besoin de la conversion exacte de 05:30 en entier de la chaîne –

Répondre

0

Disons que le temps des décalages de zone sont valides, ils sont en heures et minutes toujours séparés par deux points (« : ») et précédés d'un « + » ou ' - '.

Alors

var utcOffset = "+05:30"; 
var a = uctOffset.split(':'); 
var hour = +a[0]; 
var minute = +a[1]; 

Ce que vous faites avec les valeurs des heures et minutes est à vous - mais si l'heure est négative, le procès-verbal pourrait devoir être fait trop négatif. Je vous suggère d'utiliser isNaN pour vérifier la minute est valide si elle peut être absent: