1

方向リクエストを行うためのGoogleDirectionsAPIのドキュメントを読みました。URLの例は次のように与えられます

http://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&sensor=false&departure_time=1343605500&mode=transit

変数の値はdeparture_time、次の情報を反映していると想定されています。

2012年7月30日午前9時45分。

誰かがこの時間形式を説明できますか?

ありがとう。

4

3 に答える 3

3

これはタイムスタンプです-Unixエポック、1970-01-0100 :00 :00UTCから経過した秒数。その形式で「今すぐ」必要なSystem.currentTimeMillis() / 1000場合は、を使用できます。Dateオブジェクトがある場合は、を使用できますdate.getTime() / 1000

于 2013-03-25T17:00:49.883 に答える
1

これは、エポックUNIXタイムスタンプ(1970年1月1日からの秒数)です。あなたはによって日付を作成することができます

Date d = new Date(1343605500L);

または、http://www.epochconverter.com/を使用してください

于 2013-03-25T16:59:07.633 に答える
0

Googleドキュメントの欠陥

その特定の番号をグーグルで検索すると、このようなStackOverflow.comの質問などの場所につながりました。これらのページから、GoogleDirectionsAPIのドキュメントに欠陥があると結論付けることができます。

あなたと他の人は、ドキュメントが1343605500=2012年7月30日午前9時45分にニューヨークで言っていると報告しています。しかし、それは正しくありません。月の日と時間の両方が間違っています。

13436055001970年の初めからの秒UTC/GMT:

  • ニューヨークでは2012-07-29T19:45:00.000-04:00
  • UTC/GMTでは2012-07-29T23:45:00.000Z

数値から日時を取得する

他の回答が述べているように、明らかにGoogleは1970年の初めのUnixエポックからUTC / GMT(タイムゾーンオフセットなし)で秒数を渡しています。

java.util.Date / Calendarクラスを使用する代わりに、サードパーティのオープンソースのJoda-Timeライブラリを使用できます。

これは、テキストをタイムゾーン付きの日時に解析する方法を示すソースコードの例です。

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;

// Starting data.
String string = "1343605500";
String timeZoneName = "America/New_York";

// Convert string of seconds to number of milliseconds.
long millis = Long.parseLong( string ) * 1000 ; //
// Specify time zone rather than rely on default.
DateTimeZone timeZone = DateTimeZone.forID( timeZoneName );
// Instantiate DateTime object.
DateTime dateTime = new DateTime( millis, timeZone );

System.out.println( "dateTime: " + dateTime );
System.out.println( "dateTime in UTC/GMT: " + dateTime.toDateTime( DateTimeZone.UTC ) );

実行時…</p>

dateTime: 2012-07-29T19:45:00.000-04:00
dateTime in UTC/GMT: 2012-07-29T23:45:00.000Z

エポックからのカウントを使用する場合は、次の点に注意する必要があります。

  • どのエポック(Unix時間はいくつかの可能性の1つにすぎません)
  • カウントの精度(秒、ミリ秒、ナノ秒)

エポック以降の時間の精度の図。POSIXUnix時間は秒を使用し、java.util.DateとJoda-timeはミリ秒を使用し、JSR310java.time。*クラスはナノ秒を使用します。

于 2013-12-20T07:39:39.240 に答える