2017-12-17 5 views
0

私はこのようになり日時文字列があります。私はその刺し傷からのStataのdatetime変数を生成したいのですが、難しさを持っていますISO日時文字列からのStataの日付変数を生成

starttime = 2017-01-03T00:00:00.000000-05:00 

を。これは私が使用しているコードです:

generate stataDate = clock(starttime, "YMD!THH:MM:SS") 

この文字列で使用する正しいマストを知っていますか?私はドキュメントを見てきましたが、答えを見つけることができません。

答えて

1

以下は、役に立つ方向を示す場合があります。注目に値する

. list, clean 

           starttime      sd 
    1. 2017-01-03T00:00:00.000000-05:00 2017-01-03 00:00:00.000 
    2. 2017-01-03T12:34:56.654321-05:00 2017-01-03 12:34:56.654 

をもたらす

clear 
input str32 starttime 
"2017-01-03T00:00:00.000000-05:00" 
"2017-01-03T12:34:56.654321-05:00" 
end 
generate double sd = clock(starttime,"YMD#hms##") 
format sd %tcCCYY-NN-DD_HH:MM:SS.sss 

はStataの日時値の精度に限界がミリ秒であることである:それらは、値が格納される単位です。また、重要なのは、datetime値は浮動小数点ではなく、倍精度浮動小数点数として格納されなければならないということです。

Stataの日付と時刻の変数は複雑であり、学ぶべきことはたくさんあります。 Stata User's Guide PDFの非常に詳細な第24章(日付と時刻の操作)をまだ読んでいない場合は、今すぐに行ってください。お持ちの場合は、リフレッシュする時間です。その後、通常はhelp datetimeのドキュメントがその点を指摘しています。あなたはすべてを覚えることはできません。経験豊富なユーザーでも、help datetimeのマニュアルを参照するか、マニュアルに戻って詳細を確認してください。しかし、少なくとも基本と基本原則をよく理解するでしょう。十分に返済される時間の投資。

+0

非常にウィリアムありがとう!学ぶことがたくさんあります! –

関連する問題