【发布时间】:2016-04-25 01:32:36
【问题描述】:
谁能告诉一个好的方法来检测以字符串形式出现的日期是否为回历格式?任何自动检测字符串日期类型(回历)的好解决方案?
最初的工作或想法: 我们可以检查年份从 14 或 13 开始,例如回历年份。 “1435”..
我知道用于双向转换的 Java JODA API:
//Convert Georgian to Hijri
DateTime dtISO = new DateTime(2014,2,25,0,0,0,0);
DateTime dtIslamic = dtISO.withChronology(IslamicChronology.getInstance());
String formatIslamic= "dd-MMMM-yyyy";
DateTimeFormatter formatter = DateTimeFormat.forPattern(formatIslamic).withChronology( IslamicChronology.getInstance());
String islamicDateString = formatter.print(dtIslamic);
System.out.println(islamicDateString);
//Convert Hijri to Georgian :
Chronology iso = ISOChronology.getInstanceUTC();
Chronology hijri = IslamicChronology.getInstanceUTC();
DateTime dtHijri = new DateTime(1435,04,24,00,00,hijri);
DateTime dtIso = new DateTime(dtHijri, iso);
System.out.println(dtIso);
【问题讨论】:
-
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
-
它基本上是推荐解决问题的好方法。由于使用 if-else 硬代码条件解决问题并不是始终向前发展的方法。
-
这个问题对我来说似乎有效,要求以编程方式分析字符串以检测某种值。
标签: java jodatime datetime-format hijri