質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

1077閲覧

"yyyy年MM月dd日 HH時mm分"文字列をyyyy/MM/dd HH:mmのDatetimeに変更する方法を教えてください。

PotePui

総合スコア69

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/01/27 12:31

いつもお世話になっております。

今回のご質問は、よくある文字列を日付に変換ですが、
「2019/01/24」という形式ならDatetime型に日付変換はすぐできますが、今やりたい変換は下記になります。
0. 番号リスト「2019年01年24日 18時37分」
0. 番号リスト「yyyy/MM/dd HH:mm」
1を2に変換したいと思っています。
試行錯誤や調べてましたが、上記形式を変換方法がうまくできず分からなくなっています。

VB.NET

1Dim stDate As String = "2019年01月24日 18時37分" 2

上記変数を「yyyy/MM/dd HH:mm」形式に変換して、
日付を比較したいと思っています。

vb.net

1Dim dtmDateA as datetime = Date.paese(stDate) 'ここの変換ができないでいます。 2Dim dtmDateB as datetime = "2019/01/24 00:00:00" 3'dtmDateAがdtmDateB以降の日付の際に、Trueを返す 4if Date.Compare(dtmDateA, dtmDateB) <= 0 then 5messagebox.show("True") 6else 7messagebox.show("False") 8End if

上記コードのコメント箇所が、日付変換できないのですが、
どうしたら「yyyy/MM/dd HH:mm」の形式に変換して、
If分の日付の比較ができるか、を悩んでいます。

前回教えていただきました、内容と少し被るところもありますが、
教えていただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x_x

2019/01/29 07:29

2019年01年というのは誤記ですかね?
PotePui

2019/01/31 11:05

01年は誤記でした。 コードはここで記載しているので、 気が付きませんでした。ご指摘ありがとうございます。
guest

回答2

0

ベストアンサー

DateTime.ParseExactメソッドを使用してください

もし、入力の文字列が正常な値である保証がないのであれば(例えば2020年13月1日とか)
前回でお答えしたようにTryParseExactを使用してください。

投稿2019/01/27 12:42

編集2019/01/27 12:45
YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PotePui

2019/01/31 11:13

Datetime.ParseExact、TryParseExactで、日付変換ができるかのチェックを早速使用したいと思います。 日付と文字列処理は、基本なのですが まだ不慣れで、少しずつでも精進していきたいと思います。 ありがとうございます。
guest

0

Parsepaeseになっているという問題?

VB.NET

1Dim dtmDateA as datetime = Date.paese(stDate) 23Dim dtmDateA as datetime = Date.Parse(stDate)

それから比較の不等号が逆ですね。

VB.NET

1if Date.Compare(dtmDateA, dtmDateB) <= 0 then 23if Date.Compare(dtmDateA, dtmDateB) >= 0 then

投稿2019/01/27 23:55

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PotePui

2019/01/31 11:10

>Parseがpaeseになっているという問題? こちらも誤記でした。 ご指摘ありがとうございます。 不等号のほうは、 Aがexeファイルの実行日、つまりDate.Nowの日付で、 Bのほうは、前回exeファイルを実行した日になります。 間違えていたようです。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問