当我在字符串模式中只指定了year(可能还有其他几个时态字段)时,我希望将其他缺席字段设置为它们的最低值。例如,在Java8之前,我的代码看起来像
String source = "2015";
String pattern = "yyyy";
DateFormat sdf = new SimpleDateFormat(pattern);
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat sdfGMT2 = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss z");
sdfGMT2.setTimeZone(TimeZone.getTimeZone("GMT"));
String newf = sdfGMT2.format(date);
System.out.println(newf);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("YYYY");
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2008", fmt);
java.time.format.DateTimeParseException: Text '2008' could not be parsed: Unable to obtain ZonedDateTime from TemporalAccessor: {WeekBasedYear[WeekFields[SUNDAY,1]]=2008},ISO of type java.time.format.Parsed
它有点冗长,但是在创建DateTimeFormatter
时必须为缺少的字段指定默认值:
DateTimeFormatter fmt = new DateTimeFormatterBuilder()
.appendValue(ChronoField.YEAR)
.parseDefaulting(ChronoField.MONTH_OF_YEAR, 1)
.parseDefaulting(ChronoField.DAY_OF_MONTH, 1)
.parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
.toFormatter()
.withZone(ZoneOffset.UTC);
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2008", fmt);
这包括ZoneID
,这是ZonedDateTime
所必需的。
问题内容: 在MySQL中,使用LIKE非常普遍。我们使用它是这样的:。我们有一个子字符串,而字段有完整的字符串。但是我需要的是相反的东西。我在字段中有子字符串。因此,我希望该行包含我的字符串的子字符串。假设表是: 而且我有一个来自用户的字符串:。我需要返回这样的MySQL查询,因为这是用户字符串的子字符串。就像是: 提前致谢。 问题答案: 您在寻找LIKE运算子 模式匹配使用SQL简单的正则表达
我实现了我试图实现的目标,然而,我不满足于不必要的(?)字符串解析来达到我的目标。 null null 我的汽车类:
我正在寻找一个运算符,它允许我检查字段的值是否包含某个字符串。 比如: 可能吗?
我将正则表达式模式的列表传递给以对照syslog文件进行检查。它们通常匹配IP地址和日志条目; 它只是一个模式列表,例如我正在循环中传递的部分,因此我不能传递“-v”。 更新:这发生在像这样的脚本中;
我能够通过使用下面这个问题的注释提供的代码来解决这个问题。所有其他帖子都是有效的! 我使用的有用的东西来自第一个评论。虽然提供的所有示例代码似乎也是有效的!
我是使用Jsoup的新手,我遇到了一个问题,无法从类名text为字符串的div中获取文本值。这是一个想要丢弃的字符串。 谁能帮帮我。非常感谢。