Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从SimpleDateFormat模式中分离日期部分和时间部分_Java_Simpledateformat - Fatal编程技术网

Java 从SimpleDateFormat模式中分离日期部分和时间部分

Java 从SimpleDateFormat模式中分离日期部分和时间部分,java,simpledateformat,Java,Simpledateformat,在我的UI应用程序中,我允许用户根据自己的选择指定日期格式,我在进一步处理中使用相同的格式来格式化日期。我想从用户指定的模式中分离日期部分和时间部分。e、 g.用户指定dd-MMM-yyyy HH:mm:ss,然后我想划分日期部分,即dd-MMM-yyy和时间部分,即HH:mm:ss。我知道我可以使用SimpleDataFormat.toPattern()方法,该方法提供完整的格式,然后可以进行字符串操作。但我想避免这种情况,因为用户可能会给出一些可笑的模式,比如yyyy:HH:ss:dd-mm

在我的UI应用程序中,我允许用户根据自己的选择指定日期格式,我在进一步处理中使用相同的格式来格式化日期。我想从用户指定的模式中分离日期部分和时间部分。e、 g.用户指定dd-MMM-yyyy HH:mm:ss,然后我想划分日期部分,即dd-MMM-yyy和时间部分,即HH:mm:ss。我知道我可以使用SimpleDataFormat.toPattern()方法,该方法提供完整的格式,然后可以进行字符串操作。但我想避免这种情况,因为用户可能会给出一些可笑的模式,比如yyyy:HH:ss:dd-mmmm。在这种情况下,很难区分什么是日期部分,什么是时间部分


有没有标准的JavaAPI方法可以做到这一点?我检查了API,但找不到它。是否有第三方API提供此解决方案?

如果可以创建日期对象,则可以创建日历对象。然后使用
get
方法检索所需内容


请参见

是否可以将日期格式和时间格式的输入分开?如果是这样,那么你的问题就不存在了。是的,这是我也在考虑的最后一个选择。但是当可以用一个输入指定时,我试图避免使用两个单独的输入。您不能只实例化SimpleDataFormat sdf=new SimpleDataFormat(模式),然后使用sdf.parse(dateString)获取日期实例吗?是的,但我想分离日期和时间部分模式以进行进一步处理。那么,解析模式以获取日期的原因应该是什么呢?您需要使用用户提供的日期/时间格式的每个地方都只需创建SimpleDataFormat的实例并根据用户输入的字符串创建日期。好的,听起来不错。但是用户可能会混淆分隔符,例如“:”或“-”等。如何处理?我假设您使用的是有效的SimpleDataFormat模式,所以您根本不需要担心。我不明白,抱歉。我正在开发一个应用程序,它有用户界面,用户可以根据自己的选择输入日期模式。因此,它可能不是简单的模式(彻底测试),只需根据用户的请求使用日期模式即可。如果它工作(即有效),您将有一个日期对象,然后您可以创建一个日历对象。