java – 是否存在DayOfWeek :: getDisplayName()的反函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 是否存在DayOfWeek :: getDisplayName()的反函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1349字,纯文字阅读大概需要2分钟。
内容图文
![java – 是否存在DayOfWeek :: getDisplayName()的反函数](/upload/InfoBanner/zyjiaocheng/797/16d043f28d694db8b56b57f595b9ec13.jpg)
我需要一个将DayOfWeek转换为String的转换器,另一种方法是给定一些Locale和TextStyle.
一种方法是直截了当:
public String getAsString(DayOfWeek day, TextStyle style, Locale locale){
return day.getDisplayName(style, locale);
}
换句话说,我没有在java.time包中找到任何有用的方法.我正在寻找类似LocalDate :: parse(CharSequence text,DateTimeFormatter formatter)的东西,但是对于DayOfWeek.
解决方法:
DayOfWeek没有parse方法,但您可以构建DateTimeFormatter并将其与DayOfWeek :: from一起使用来解析String:
import java.time.temporal.ChronoField;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public DayOfWeek parseFromString(String str, TextStyle style, Locale locale) {
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
// Day of the week field, using the same TextStyle
.appendText(ChronoField.DAY_OF_WEEK, style)
// use the same locale
.toFormatter(locale);
// parse returns a TemporalAccessor, DayOfWeek::from converts it to a DayOfWeek object
return formatter.parse(str, DayOfWeek::from);
}
有了这个,您可以从您创建的String中获取DayOfWeek:
String dayOfWeekString = getAsString(DayOfWeek.MONDAY, TextStyle.FULL, Locale.US);
System.out.println(dayOfWeekString); // monday
DayOfWeek dayOfWeek = parseFromString(dayOfWeekString, TextStyle.FULL, Locale.US);
System.out.println(dayOfWeek); // MONDAY (return of DayOfWeek.toString())
内容总结
以上是互联网集市为您收集整理的java – 是否存在DayOfWeek :: getDisplayName()的反函数全部内容,希望文章能够帮你解决java – 是否存在DayOfWeek :: getDisplayName()的反函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。