因为需求,只写了年月日时的自动转换。
public static Date convertStringToDate(String time) { String separator_yM = ""; String separator_Md = ""; String separator_dH = ""; String yyyy = ""; String MM = ""; String dd = ""; String HH = ""; Pattern pattern = Pattern .compile("(\\d{4})([^\\d]?)(\\d{1,2})([^\\d]?)(\\d{1,2})([^\\d]?)(\\d*)$"); Matcher matcher = pattern.matcher(time); if (matcher.find()) { System.out.println(matcher.group(0)); yyyy = matcher.group(1); separator_yM = matcher.group(2); MM = matcher.group(3); separator_Md = matcher.group(4); dd = matcher.group(5); separator_dH = matcher.group(6); HH = matcher.group(7); System.out.println(yyyy + separator_yM + MM + separator_Md + dd + separator_dH + HH); } if(yyyy == null || yyyy.equals("") || MM == null || MM.equals("") || dd == null || dd.equals("")) { return null; } String formateStr = "yyyy" + separator_yM + repeat("M", MM.length()) + separator_Md + repeat("d", dd.length()) + separator_dH + repeat("H", HH.length()); System.out.println("formateStr->" + formateStr); SimpleDateFormat formate = new SimpleDateFormat(formateStr); formate.setLenient(false); Date result = null; try { result = formate.parse(time); } catch (ParseException e) { } return result; } public static String repeat(String s,int counts) { int len = s.length(); StringBuilder builder = new StringBuilder(len * counts); for(int i=0; i<counts; i++){ builder.append(s); } return builder.toString(); }
测试:
public static void main(String[] args) { String s = "2014 9/23:7"; SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd-HH"); Date d = convertStringToDate(s); if(d != null) { System.out.println(formate.format(d)); } else { System.out.println(d); } }
-----输出
2014 9/23:7
2014 9/23:7
formateStr->yyyy M/dd:H
2014-09-23-07
-----
String s = "2014-9/23-7";
---输出
2014-09-23-07
String s = "2014-9/23-7";
---输出
2014-09-23-07
String s = "2014-9/31-7";
---输出
null
String s = "2014-9-ss-7";
---输出
null
其他自己去试吧。
相关推荐
在Java编程中,工具类(Util Classes)是程序员日常工作中不可或缺的部分,它们提供了一系列静态方法,用于执行常见的任务,如JSON解析、日期处理、字符串操作等。以下是对标题和描述中涉及的知识点的详细说明: 1....
/** * 作用:将字符串转化为日期类型 * @param operDate :当前要进行操作的日期 * @param type :希望通过操作返回的日期类型 * @return */
Java编程语言中,字符串、日期和数字的格式化输出是一个重要的概念,特别是在处理用户界面输出或者数据记录时。虽然在C语言中可以使用`printf`函数进行格式化输出,但Java的标准输出`System.out.println()`并没有...
Java中的字符串格式化功能是处理和展示数据时不可或缺的一部分,尤其在需要将各种数据类型转换为特定格式的字符串时显得尤为重要。本文将深入探讨Java中`String`类的`format()`方法,及其如何用于创建格式化的字符串...
3. `java.text.SimpleDateFormat`:这个类是日期/时间格式化的关键,它实现了`java.text.Format`接口,用于将日期和时间转换为字符串,或将字符串解析为日期。`SimpleDateFormat`的构造函数接受一个模式字符串,如...
一个json相互转换的万能java类... * 将java对象转换成json字符串,并设定日期格式 * @param javaObj * @param dataFormat * @return */ /** *//** * JSON 时间解析器具 * @param datePattern * @return */
Java通用API工具合集是Java开发者的重要参考资料,它包含了Java平台标准版(Java SE)的各种类库和接口的详尽文档。这个最全中文版使得中国开发者能够更方便地理解和使用Java API,避免了语言障碍,提高了开发效率。...
- 将字符串转换回日期:`Date parsedDate = sdf.parse(dateStr);`,注意这可能会抛出`ParseException`。 7. **时区处理** - `TimeZone`类用来处理不同时区。`TimeZone.getDefault()`获取默认时区,`TimeZone....
《JAVA通用工具类——nariit-sgcc-common-1.0深入解析》 在软件开发过程中,为了提高代码的复用性和效率,开发者通常会创建一些工具类库,以供项目中频繁使用的功能调用。"nariit-sgcc-common-1.0"就是这样一个针对...
`DateUtil.java`文件很可能是实现了一些通用的日期时间操作,如日期的转换、格式化、比较等。在实际项目中,这样的工具类可以帮助简化代码,提高可读性和可维护性。通常,`DateUtil`类会包含以下方法: - 将`Date`...
首先,我们需要将日期字符串转换为 Date 对象,这可以使用 java.text.SimpleDateFormat 的 parse 方法来实现。例如: ```java SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format....
`JsonUtil`类可能还包括其他处理JSON的方法,如将Java对象序列化为JSON字符串、处理嵌套的JSON结构、处理日期等复杂类型等。通常,这类工具类会利用第三方库,如`net.sf.json`或`com.google.gson`,它们提供了丰富的...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
`SimpleDateFormat`是`DateFormat`的一个子类,它可以让我们根据自定义的模式来格式化(日期 -> 文本)、解析(文本 -> 日期)日期/时间字符串。通过提供模式字符串,我们可以指定期望的日期格式。 ##### 2.1 模式...
Java 字符格式化是编程中常见的一种操作,用于将各种数据类型转换成字符串,并按照特定的格式进行展示。在 Java 中,`String` 类提供了一个名为 `format()` 的方法,这个方法可以用来创建格式化的字符串,类似于 C ...
1. **日期和时间的转换**:将字符串转换为日期或时间对象,反之亦然。 2. **日期运算**:增加或减少日期的年、月、日,或者时间的小时、分钟、秒。 3. **时间间隔处理**:计算两个日期或时间之间的差值,返回...
1. **日期时间格式化与解析**:通过`SimpleDateFormat`类,可以方便地将日期时间转换为字符串,或从字符串转换为日期时间。例如: ```java public static String format(Date date, String pattern) { ...
3. 工具类:包含各种通用的功能,如日期时间处理、字符串操作、文件I/O等。 4. 异常处理和日志记录类:提供统一的异常处理机制和日志记录,便于调试和问题定位。 5. 可能还有配置类和接口定义,用于项目的模块化和...
本话题聚焦于两个特定的工具类:`StringUtil`和`DatetimeUtil`,它们分别处理字符串操作和日期时间操作。 `StringUtil`类是一个典型的字符串处理工具类,它提供了以下两个关键功能: 1. **去除右侧空格**: 这个...