0

UNIX タイムスタンプをシステムの時刻と日付に変換するにはどうすればよいですか? 私の場合はEST時間です。

4

3 に答える 3

2

Unix タイムスタンプは、多くの場合、1970 年 1 月 1 日午前 0 時からのミリ秒形式ですが、同じ瞬間からの秒形式の場合もあります。これらを Matlab の datenum に変換するには、datenum([1970 1 1 0 0 timestamp/1000])(関連する Mathworks テクニカル ノートを参照してください) を使用します。タイムスタンプがミリ秒単位ではなく秒単位の場合は、1000 で除算しないでください。datenum を取得したら、関数を使用datestrして任意の形式の文字列に変換できます。

または、Java を使用java.util.Date(timestamp)してタイムスタンプを Java 日付オブジェクトに変換し、Date メソッドを使用して Java 文字列に変換し、Matlab のchar関数を使用して Java 文字列に変換することもできます。

于 2013-02-24T20:14:57.847 に答える
1

datenumを使用して、ほぼすべての形式の時間文字列をシリアル日付番号に変換してから、 datestrまたはdatevecを使用して必要な形式に変換できます。

于 2013-02-24T04:31:39.250 に答える
0

私はちょうど同じ問題を抱えていて、次のような機能で自分自身を助けました

function dv=datevec_from_timestamp(ts)
% Converts a UNIX timestamp (UTC based) to a (local!) datevec which can
% then be used as usual with datestr, datenum etc.
cal=java.util.Calendar.getInstance;
cal.setTimeInMillis(ts * 1000)
dv = [cal.get(cal.YEAR) cal.get(cal.MONTH)+1 cal.get(cal.DAY_OF_MONTH) ...
    cal.get(cal.HOUR) cal.get(cal.MINUTE) cal.get(cal.SECOND)];
于 2014-11-27T15:31:35.190 に答える