【java-使用SimpleDateFormat格式化不同本地人的日期】教程文章相关的互联网学习教程文章

Java 8如何在使用DateTimeFormatter #format时排除可选部分【代码】

我正在使用Java 8 DateTimeFormatter,其模式具有可选部分,我希望在格式化为String时排除该可选部分 我正在使用的模式:yyyyMMddHHmmss [.SSS] Z 我如何使用我的DateTimeFormatter:DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss[.SSS]Z"); String formattedDate = df.format(zonedDateTime);我期待的结果是:20180606052500 0100 而不是:20180606052500.000 0100 一个解决方案是使用两个DateTimeFormatter...

java – SimpleDateFormat leniency导致意外行为【代码】

我发现SimpleDateFormat::parse(String source)的行为(不幸)默认设置为宽松:setLenient(true).By default, parsing is lenient: If the input is not in the form used by this object’s format method but can still be parsed as a date, then the parse succeeds.如果我将leniency设置为false,那么文档说通过严格的解析,输入必须匹配此对象的格式.我已经使用了SimpleDateFormat与没有宽松模式的配对,并且错误地,我在日期中输入...

java – DateTimeFormatter.ISO_OFFSET_DATE_TIME的等效格式字符串是什么?【代码】

我们是否知道是否存在与DateTimeFormatter.ISO_OFFSET_DATE_TIME输出相同结果的等效格式字符串? 即ZonedDateTime dateTime = ZonedDateTime.now(); System.out.println(dateTime.format(DateTimeFormatter.ofPattern(pattern))); System.out.println(dateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));会输出相同的解决方法:不,这是不可能的 根据要求:是的,我们知道DateTimeFormatter.ISO_OFFSET_DATE_TIME没有等效的格...

java – JSFs:commandLink作为outputFormat的参数【代码】

我正在将一些JSF文件国际化,因此外部化字符串(以及使用占位符的字符串串联).我对JSF(今天和昨天)的经验很少,所以如果对我的问题有一个明显的回答,请原谅! 我已经成功地为简单的占位符使用了h:outputFormat标记(和f:param标记),但现在我正在寻找用commandLink组件替换占位符. 即<h:outputFormat value="#{adminMsgs.scheduleUpdateLink} "><h:commandLink value="#{adminMsgs.update}" action="refresh" /> </h:outputFormat>属性...

DecimalFormat用于java中的价格格式【代码】

是否可以使用Java中的DecimalFormat根据这样的规则格式化价格:50000 => 50 000擦00 kop解决方法: NumberFormat.getCurrencyInstance() 可能做你想要的. 对于卢布和kopeks,它可能使用符号而不是单词. 这是一个有效的例子:final NumberFormat currencyInstance = NumberFormat.getCurrencyInstance();currencyInstance.setCurrency(Currency.getInstance("RUB"));System.out.println(currencyInstance.format(50000));这个输出对我...

Java时间处理 Date Calendar SimpleDateFormat的运算【图】

一、Date 和SimpleDateFormat Date是一个时间控件,主要获取当前时间 date里面的方法就不一一讲解了。但其实这个获取到的当前时间展示不是日常所看到的一样,这个时候就会用到了SimpleDateFormat,这个类可以让date日期的时间进行格式化,比如就会获取到当前的年月日,simpleDateFormat的格式是yyyy-MM-dd HH:mm:ss 对应的是年月日 时分秒 年月日和时间秒中间必须要有空格。 date.getime();获取从1970年1月1日到现在的毫秒值 还有...

java – 解析货币值失败的NumberFormat【代码】

使用Number格式的Currency实例进行语法分析时,为什么以下生成解析异常.float f1 = 123.45678f;Locale locFR = new Locale("fr");NumberFormat[] nfa = new NumberFormat[4];nfa[0] = NumberFormat.getInstance(); //defaultnfa[1] = NumberFormat.getInstance(locFR); //FranceLocalenfa[2] = NumberFormat.getCurrencyInstance(); //Default Currencynfa[3] = NumberFormat.getCurrencyInstance(locF...

Java 中时间处理SimpleDateFormat 中HH和hh的区别【代码】

之前发现自己开发的测试平台中,总是在乱发邮件。明明不应该发的邮件,怎么又在发。后来才发现,我自己记录时间类型的时候,记录错了24小时制要用大写的HH 比如 SimpleDateFormat dtf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss@SSS"); 而我用了小写的hh的格式~~~还有时间存入DB中,是直接使用数据库中的函数,比如在SQl中锁定函数mysql中,insert tablename () values (now()) sqlserver中, insert tablename () value...

java – Mockito NumberFormat在when()方法中模拟NullPointer【代码】

所以我有这段代码会抛出一个NullPointerExceptionNumberFormat formatterFake = mock(NumberFormat.class); when(formatterFake.format(1)).thenReturn("1");问题是我在when()方法中得到一个异常:java.lang.NullPointerExceptionat java.text.NumberFormat.format(NumberFormat.java:297)我也试图模仿具体课程,给我相同的结果.NumberFormat formatterFake = mock(DecimalFormat.class); 我对Mockito有点新意,任何帮助都会非常谨...

在Java中转换Integer String时的NumberFormatException【代码】

我宣布这个变量:private String numCarteBancaireValide=String.valueOf(((Integer.parseInt(Config.NUM_CARTE_BANCAIRE_VALIDE) ) + (Integer.parseInt("0000000000000001")))); Config.NUM_CARTE_BANCAIRE_VALIDE is a string.执行后,我收到此错误消息:java.lang.NumberFormatException: For input string: "4111111111111111"at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)at java.lan...

java – SimpleDateFormat使用AM / PM解析错误【代码】

我试图将输入字符串日期解析为Date.它无法检测输入中的AM / PM标签.它应该增加指定日期和返回日期的时间.但它无法解析AM / PM标签.03:00 PM在日期中解析为03:00:00.应该是15:00:00. 输出: 日期:2015年12月22日星期二03:00:00 日历:2015年12月22日星期二11:15:00 UTC 结果:2015-12-22 11:15 AM 我使用错误的日期格式吗? 这是我的代码:import java.util.*; import java.text.*; public class Main {public static vo...

带有详细时区的Java DateTimeFormatterBuilder【代码】

假设我有一个日期,例如:Nov 30, 2013 19:00:00.001930000 Eastern Standard Time我正在尝试使用DateTimeFormatterBuilder解析输入,但是我无法弄清楚要为通用类型ZoneId设置的内容如下所示.String basePattern = "MMM dd, yyyy HH:mm:ss"; new DateTimeFormatterBuilder().appendPattern(basePattern).appendFraction(ChronoField.NANO_OF_SECOND,0,9, true).appendZoneText(TextStyle.FULL, null).toFormatter();解决方法:伪区 正...

为什么我不能用Java中的模式“MMMMM dd”解析SimpleDateFormat?【代码】

我需要解析像1981年2月12日这样的字符串作为日期.我用SimpleDateFormat.但如果我这样做:new SimpleDateFormat("MMMMM dd, yyyy").parse("February 12, 1981")我得到java.text.ParseException. 我试图减少它以查看问题所在.第一:new SimpleDateFormat("MMMMM").parse("February")作品.然后:new SimpleDateFormat("MMMMM dd").parse("February 12")不再起作用了.谁知道为什么?我也尝试了新的SimpleDateFormat(“MMMMM”’dd“). ...

java – String.format()

C的“?.2lf”相当于? 你们有任何资源显示Java和C的等效格式吗?解决方法:简短回答:Java等价物是“?.2f”. 在C的printf()(但不是scanf())中,%f和%lf是等价的;两者都采取双重论点. 在Java的Formatter.format()中,%f是合法的,但%lf不是. %f适用于Float,Double和BigDecimal值.

java SimpleDateFormat行为【代码】

我有一个模式为yyyy-M-d的SimpleDateFormat,以及以下场景:String str = "02-03-04"; SimpleDateFormat f = new SimpleDateFormat("yyyy-M-d"); f.setLenient(false); System.out.println(f.parse(str));输出是东部时间4月4日00:00:00 EST 2 我的目标是仅以2004-02-03的格式捕捉日期并忽略02-03-04.我认为模式中的yyyy需要4位数年份,但显然事实并非如此.任何人都可以解释为什么这不会抛出一个解析异常?我想要……解决方法...