2011-01-06 8 views
11

秒をJavaScriptのdatetimeオブジェクトに変換するにはどうすればいいですか?Javascriptは日付オブジェクトに秒を変換します

例:

1.3308313703571

1.6324722385401

これは一連の点からのものであり、彼らが発生しました。私は1.23323秒以上を理解していますが、値を変更することはできず、APIから引き出されます。

+0

これらの浮動小数点数はどのような日時ですか? – deceze

+0

これらはゼロから始まる一連の秒です。それは、発生した時点で表される一連の点に過ぎません。 – jhanifen

+1

私がここで問題に思うのは、変換したいあなたの例が意味をなさないということです。それは特定の時点からの秒数です(1970年1月1日より1.3秒後)? –

答えて

32

あなたはこのように試すことができます:epoch date

function toDateTime(secs) { 
    var t = new Date(1970, 0, 1); // Epoch 
    t.setSeconds(secs); 
    return t; 
} 

情報。

1

あなたの例の値が日付に1.something秒を変換しようとしているように見える。..小数を持っている...

。一方日付変換に正しい秒でこの例hereをチェック..あなたが彼らを見ることができますjsソース。

+1

ありがとう、これは動作します。コードは次のとおりです。 'var d = new Date(); d.setTime(秒* 1000); ' – ariscris

-3
/** 
    DateTime 
    ------- 
    Author:  Jamal BOUIZEM 
    Date:  20/02/2015 
    Version: 1.0.0 
*/ 

var DateTime = (function(){ 
    return { 
     instance: function(spec){ 
      var that = { 
       h: spec.h || 0, 
       m: spec.m || 0, 
       s: spec.s || 0 
      }; 

      var d = new Date(); 
      var str = ""; 

      function __init__(h, m, s) 
      { 
       that.h = h; 
       that.m = m; 
       that.s = s; 

       d.setHours(that.h); 
       d.setMinutes(that.m); 
       d.setSeconds(that.s); 
      }; 

      that.get = function(){ 
       d.setHours(that.h); 
       d.setMinutes(that.m); 
       d.setSeconds(that.s); 
       return d; 
      }; 

      that.set = function(h, m, s){ 
       __init__(h, m, s); 
      }; 

      that.convertSecs = function(){ 
       return (that.h * 3600) + (that.m * 60) + that.s; 
      }; 

      that.secsToDate = function(seconds){ 
       var ts = seconds % 60; 
       var tm = (seconds/60) % 60; 
       var th = (seconds/3600) % 60; 
       return DateTime.instance({ h: parseInt(th), m: parseInt(tm), s: parseInt(ts) }); 
      }; 

      that.add = function(d){ 
       return that.secsToDate(that.convertSecs() + d.convertSecs()); 
      }; 

      that.subtract = function(d){ 
       return that.secsToDate(that.convertSecs() - d.convertSecs()); 
      }; 

      __init__(that.h, that.m, that.s); 
      return that; 
     } 
    } 
})(); 
0

質問は既に回答されているようですが、これはRubyのTime.at()メソッドに似たことを試みる人にとって役に立ちます。

function formatDateTime(input){ 
     var epoch = new Date(0); 
     epoch.setSeconds(parseInt(input)); 
     var date = epoch.toISOString(); 
     date = date.replace('T', ' '); 
     return date.split('.')[0].split(' ')[0] + ' ' + epoch.toLocaleTimeString().split(' ')[0]; 
}; 
関連する問題