現在時刻の取得

現在時刻を文字列型ではなく数値型として取得するにはどうしたら良いですか?

数値というのはInt32型などでしょうか?

DateTime型のまま、ということであればNowとすることで現在時刻を取得できます。
もしyyyyMMddの形式の日付を数値(Int32型など)として読みたい、ということであれば、
CInt(Now.ToString(“yyyyMMdd”))とすることで取得できるかと思います。

DateTime型の変数(ここではTMとします)に、DateTime.Nowとして現在時刻を取得、設定します。

時を取得するには、TM.Hourとし、分なら、TM.Minute。秒なら、TM.Secondですね。
ミリ秒もTM.Millisecondで取得できます。すべてInt32型で取得できます。

1 Like

解決しました!
ありがとうございます。

2 Likes

ありがとうございます。
これからの参考にさせていただきます。

1 Like

追加で質問させてください。
時刻を格納した変数(Int32型 Time)があり、16:00以前の場合はTrue、以降の場合はFalseの処理を行いたいのですが、条件にTime<1600と設定すると16:00以降になってもTrueになってしまいます。何が問題でしょうか?

時刻は、TM.ToString(HHmmss)で取得し、それを数値化したと考えていいですか?
となると、1600での評価ではなく、160000では?

TM.ToString(HHmm)で取得したなら、1600でいいと思います。

どのようにTimeに格納されているか、まずはLog Messageなどで表示してみましょう。
ただしく格納されていない可能性もありそうです。

1 Like

先ほどはRobotから実行しており、今Studioから実行してみると想定の動きをしました。どうやらパブリッシュしたファイルがRobotに反映されずにいたようです。新バージョンのワークフローをパブリッシュした後にRobotに反映させるのはどうすれば良いのでしょうか?

・Orchestrator管理者が、Orchestrator側で、該当ROBOTの版数を上げる。
・実行PCユーザが、パソコン上のUiROBOT画面の該当ROBOTがダウンロードアイコンに変わるので、それをクリックしてダウンロードする。
・新しくダウンロードされた版数で実行!

このような流れが必要です。

Orchestratorにつながっていないという前提ですが、
RobotとStudioが同じ端末であれば、パッケージのバージョンを上げてパブリッシュすることで自動的に更新されます。
端末が別である場合も、パッケージのバージョンを上げてパブリッシュし、生成された.nupkgをRobot端末のパッケージ保管フォルダに置くと、自動的に上位のバージョンに更新されます。

普段1行を書き込みで変数の中を見ていましたがInt32型を確認することができず困っていました。これからはLog Messageを使いたいと思います。

アクティビティを替えれば。。。と言うのではなく、

Int32の変数.ToString

として、目で見えるようにしてみてって事ですよ。多分(^_^.)

1 Like

RobotとStudioは同じ端末です。
初回はデフォルトでバージョンナンバーに1.0.1が入っていますが2回目に1.0.2を1.0.1にリネームしてからパブリッシュしました。そうすると.nupkgは上書きされ、自動で更新はされないのでしょうか。

ご認識の通り、バージョンが「既存のもの」よりも上回らないと更新されません。同じの場合、パッケージファイルは上書きされるんですが、Robot側でその更新が検知されないため、実行されるシナリオに反映されない仕組みになっています。

1 Like

ですので、基本バージョンナンバーは触らない方が安全ですね。

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.