いつも大変お世話になっております。
Excelで取得した文字列「午前9時」や「午後4時」という標記を、
「9:00」「16:00」に変換することはできますか???
ご存知のことがあればご教授ください。
いつも大変お世話になっております。
Excelで取得した文字列「午前9時」や「午後4時」という標記を、
「9:00」「16:00」に変換することはできますか???
ご存知のことがあればご教授ください。
Hi @kiki1
Input= "9 a.m."
Output= DateTime.ParseExact(Input.Replace(".",""),"h tt",System.Globalization.CultureInfo.InvariantCulture).ToString("HH:mm")
Regards
こんにちは
入力は全角文字のようなので、それの変換も必要です。
strData ="午後4時"
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
ci = New System.Globalization.CultureInfo("ja-JP")
ci.DateTimeFormat.Calendar = new System.Globalization.JapaneseCalendar()
としておいて
DateTime.ParseExact(StrConv(strData,vbNarrow,&H411),"tth時",ci).ToString("HH:mm")
Sample
Sample20240105-4.zip (2.7 KB)
入力に分が含まれる場合は、もう少し工夫が必要です。
アドバイスありがとうございます。
分が含まれない場合、含まれる場合、どちらにも対応できるようにしたいのですが、可能でしょうか?
両方に対応するには、例えば以下の式を使います。
DateTime.ParseExact(StrConv(strData,vbNarrow,&H411),{"tth時","tth時m分"},ci).ToString("HH:mm")
ご教授ありがとうございます。
これで、更に効率化が進みます
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.