Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将时间戳解析为scala中所需的格式_Java_Scala_Timestamp - Fatal编程技术网

Java 将时间戳解析为scala中所需的格式

Java 将时间戳解析为scala中所需的格式,java,scala,timestamp,Java,Scala,Timestamp,我有这样的想法: scala> val format = new java.text.SimpleDateFormat("yyyyMMddHHmmss") format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@5069d960 scala> format.format(new java.util.Date()) res3: String = 20150807135758 我想将takeyyMMddhhmms

我有这样的想法:

scala> val format = new java.text.SimpleDateFormat("yyyyMMddHHmmss")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@5069d960

scala> format.format(new java.util.Date())
res3: String = 20150807135758
我想将takeyyMMddhhmmss时间戳更改为yyMMddhhmmss,但是当我将
toString
更改为时间戳时,我得到一个错误

scala> val newDate = format.subString(2, 11)
<console>:10: error: value subString is not a member of    java.text.SimpleDateForm
at
   val newDate = format.subString(2, 11)
                        ^
但它并没有按照我想要的方式打印出来。如何解决此问题?

格式(日期)
返回的
字符串上调用
子字符串()
,而不是在
格式
对象上调用
子字符串()
,该对象是
SimpleDataFormat
的实例:

format.format(新java.util.Date()).substring(2,11)

更好的是,您只需将模式更改为:

val format = new java.text.SimpleDateFormat("yyMMddHHmmss")
format.format(new java.util.Date())
结果为
150807143842

在您的示例中,
format
是类型为
java.text.simpleDataFormat
的实例。当您在其上调用
toString()
时,它将返回类的名称
java.text.SimpleDataFormat
plus
@
加上JVM生成的描述此实例的数字。这是Java(和Scala)中默认的
toString()
行为,除非类重写
toString()

此行为有效:

scala> val format = new java.text.SimpleDateFormat("yyyyMMddHHmmss")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@5069d960

scala> format.toPattern.substring(2, 11)
res5: String = yyMMddHHm

很不清楚你在问什么,你想实现什么?您在
格式
上调用
toString()
,该格式为
java.text.simpleDataFormat
,然后
toString()
将返回完整的类名加上
@
加上一些JVM从时间戳生成的数字,因此20150807135758,我希望提取1508071357。YYYYMMDDHHSSS到yyMMddhhss。好的,希望我的回答对你有帮助。这肯定有帮助。谢谢
scala> val format = new java.text.SimpleDateFormat("yyyyMMddHHmmss")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@5069d960

scala> format.toPattern.substring(2, 11)
res5: String = yyMMddHHm