tlunlun09
(tlunlun09)
1
日付のStringからDatetimeに変換しているのですが、最近
String ‘’ was not recognized as a valid DateTime.
というエラーが発生しました。
もとは
Datetime.Parse(currentMailMessage.Headers(“Date”))
と書いてたのを
DateTime.ParseExact(currentMailMessage.Headers(“Date”),“ddd, d MMM yyyy HH:mm:ss K”,System.Globalization.CultureInfo.InvariantCulture)
と変更して試しましたが状況に変化がありません。
お気づきの点がありましたら、ご教示いただけますと幸いです。
tlunlun09
(tlunlun09)
2
フォーマットは K の箇所を zzz も試しています。
rlgandu
(Rajyalakshmi Gandu)
3
@tlunlun09
DateTime.ParseExact(currentMailMessage.Headers("Date"), "ddd, dd MMM yyyy HH:mm:ss zzz '(JST)'", System.Globalization.CultureInfo.InvariantCulture)
vrdabberu
(Varunraj Dabberu)
4
Hi @tlunlun09
input = "Sun, 28 Jul 2024 20:11:52 +0900 (JST)"
dateTime = DateTime.ParseExact(currentMailMessage.Headers("Date"), "ddd, dd MMM yyyy HH:mm:ss zzz '(JST)'", System.Globalization.CultureInfo.InvariantCulture)
Regards
Yoichi
(Yoichi)
5
こんにちは
この入力からしますと、(JST)
の部分が邪魔なので
DateTime.Parse(System.Text.RegularExpressions.Regex.Replace(strDate,"\s*\(.*?\)$",""))
とすれば良いように思えます。
ただエラーメッセージが
String ‘’ was not recognized as a valid DateTime.
とのことなので、これは入力が空文字列であることを意味してそうなので、一旦
strDate = currentMailMessage.Headers(“Date”)
としたうえで、変数の中身を念のため確認しておいた方がよさそうにも思えます。
その上で
DateTime.Parse(System.Text.RegularExpressions.Regex.Replace(strDate,"\s*\(.*?\)$",""))