2009-07-06 31 views
1

PHPアプリケーションで作成したミリ秒のフィールドを日付値に変換する必要があります。 VBScriptを使ってこれを行う方法はありますか?またはSQL 2005のdatetimeに変換しますか?ASP:日付をミリ秒に変換

例:1113192000mm/dd/yyyy hh:mm:ss

答えて

1

あなたは、例えばからのミリ秒をカウントする基準時間を持っている必要があります1970年1月1日またはそれに類するもの。

次に、ミリ秒数を1000で割って秒数を取得します。残りは保存されます。

分数を取得するには、秒数を60で割ります(余りを保存します)。

さらに60時間、24日間。

それでは、閏年を考えると難しいです。 another question on this hereがあります。

年、日、時間、分、秒、およびミリ秒が得られたら、これを基準日時に追加して、表された日時を取得します。

他に、使用する可能性のあるコードなどが掲載されています。

+0

OKを。基本時間が1970年1月1日の場合はどうなりますか?それを変換するコードは何でしょうか?ありがとう。 –

+0

ありがとうございます。 –

1

私はあなたが何ミリ秒として言及していると思うのは、実際にPHPの時間/日付関数によって返されたエポック時間です。 「、1970年1月1日00

関数epoch2date(myEpoch)

epoch2date = DateAdd関数( "S"、myEpoch:あなたは関数にこのASPでのdatetimeフォーマットに変換エポックタイムを得るために打撃を与えることができます:00:00" )

エンド機能

出典:http://www.epochconverter.com/epoch/functions.php#asp

3

次のようなものは動作するはずです:

Function ConvertPhpToDate(numSeconds) 
    Dim dEpoch 
    dEpoch = DateSerial(1970,1,1) 
    ConvertPhpToDate = DateAdd("s",numSeconds,dEpoch) 
End Function 

php time()関数はミリ秒ではなく、秒数を返します。 http://php.net/manual/en/function.time.php

+0

ありがとう、これは私のために働いた。 –

1
msValue = 32312312 
dtValue = DateAdd("s", msValue/1000, CDate("1970-01-01 00:00:00")) 

機能で包み:

Function TimestampToDate(timestamp) 
    TimestampToDate = DateAdd("s", timestamp/1000, CDate("1970-01-01 00:00:00")) 
End Function 
関連する問題