Date punchDate = null;
Date punchTime = null;
SimpleDateFormat sdfDate = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");
try
{
sdfDate.setTimeZone(TimeZone.getTimeZone("UTC"));
sdfTime.setTimeZone(TimeZone.getTimeZone("UTC"));
punchDate = sdfDate.parse(arg1);
punchTime = sdfTime.parse(arg2);
}
catch (ParseException pe)
{
System.out.println("Parse exception " +pe.getMessage());
}
我的需求基本上是,我需要从字符串输入创建一个日期对象,但时区应该保持UTC。
我需要从字符串输入创建一个Date对象,但时区应该保持UTC。
LocalDate.parse(
"23.01.2017" ,
DateTimeFormatter.ofPattern( "dd.MM.uuuu" )
)
…还有…
LocalTime.parse( "12:34:56" )
…结合…
OffsetDateTime.of( datePart , timePart , ZoneOffset.UTC )
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd.MM.uuuu" ) ;
LocalDate ld = LocalDate.parse( "23.01.2017" , f ) ;
LocalTime lt = LocalTime.parse( "12:34:56" ) ;
OffsetDateTime odt = OffsetDateTime.of( ld , lt , ZoneOffset.UTC ) ;
如果希望看到与特定区域挂钟时间相同的时刻,请应用ZoneId
以获得ZonedDateTime
。
以大陆/地区
格式指定适当的时区名称,例如美国/蒙特利尔
、非洲/卡萨布兰卡
或太平洋/奥克兰
。切勿使用est
或ist
等3-4个字母缩写,因为它们不是真正的时区,不是标准化的,甚至不是唯一的(!)。
ZoneId z = ZoneId.of( "Europe/Paris" ) ;
ZonedDateTime zdt = odt.atZoneSameInstant( z ) ; // Same simultaneous moment, same point on the timeline.
提示:要将这种数据交换为文本,请专门使用标准的ISO 8601格式。这些格式被合理地设计成无歧义,易于机器处理,并且易于被人们跨多种文化阅读。
String output = Instant.now().toString() ;
instant
类以UTC表示时间线上的一个时刻,分辨率为纳秒(最多为十进制分数的九(9)位)。
通过调用ToString
从OffsetDateTime
中提取Instant
对象。
Instant instant = odt.toInstant() ;
java.util.Date date = Date.fromInstant( instant ) ;
…走另一条路…
Instant instant = myJavaUtilDate.toInstant() ;
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;
要了解更多信息,请参阅Oracle教程。并搜索堆栈溢出以获得许多示例和解释。规范是JSR310。
从哪里获取java.time类?
我想解析这个字符串:Thu Jan 01 00:00:58 CET 1970 堆栈跟踪: java.text.ParseException:不可解析的日期:“Thu Jan 01 00:01:18 CET 1970”(偏移量20处)w/system.err:at java.text.DateFormat.Parse(DateFormat.java:571) 系统环境:android studio
问题内容: 谁能告诉我这段代码有什么问题: 输出是: 当输入时间以毫秒为单位时,请注意以分钟为单位的差异。 问题答案: 对于,毫秒格式的值包含大写字符,而不是秒的小写字符。 秒(秒)55 毫秒数978 它解释为秒,并将这些秒(847秒是13分钟47秒)添加到您的值中。 使用毫秒。 顺便说一句,如果相同,则无需多次创建。您可以创建一次,将其保存到变量中,然后多次调用,对于您要解析的每个日期/时间字符
问题内容: 我一直在尝试隔离应用程序中的错误。我成功产生了以下“谜语”: 在Android API 7上 运行此代码时,我得到了注释中的值(是的,是的)。此行为取决于特定的Java实现。 我的问题是: 为什么s1不等于s2? 更重要的是, 为什么s1不正确? 虽然指向适当的时间点,但没有。Android的SimpleDateFormat实现中似乎存在一个错误。 问题1 的答案 : 请参阅Balus
Apache-cxf wsdlvalidator返回 wsdl文档示例来自:https://github.com/wso2/wso2-axis2/blob/master/modules/xmlbeans/test-resources/mime-doc.wsdl。(我还尝试了其他例子) 如果将“mime:part”更改为“part”,验证器将返回错误: WSDLValidator错误:javax.w
我使用以下源代码创建了自己的SDF模式:https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/text/simpledateformat.html 导致以下错误,我不明白原因: 任何帮助都会很棒! 编辑:我正在使用JDK 13 进程结束,退出代码为%1
我写了一个二分搜索的递归程序,正如你所看到的,我试图在给定的数组中找到目标=21的位置,然后返回位置为2。但是,我的输出是1。当我调试它匹配att arr[start]=target时,它直接跳到findTheNumber(arr,mid+1,end,target)行;然后下一行,然后返回mid..只是想知道为什么我的返回在“返回开始”时中断了 }