首页 > 解决方案 > scala - 打印 26*8 矩阵以获取时间戳的所有格式值

问题描述

我使用下面的代码打印不同 java 时间格式的 26*8 矩阵来快速查找。

import scala.util._
import java.time._
import java.time.format._

val dt=LocalDateTime.of(2019,3,23,6,35,40).atZone(ZoneId.of("Asia/Kolkata"))
println(dt)
for {
       r <- 'a' to 'z'
       i <- 1 to 8
       x = if(i<5) r.toString * i else r.toUpper.toString * ((i+1)%5)

     p = Try {
       val fmt1 = DateTimeFormatter.ofPattern(x)
       (x, fmt1.format(dt))
     }.toOption match {
       case Some(x) => printf( "%-26s|", x )
       case None => printf("%-26s|", "-----" )
     }
  } yield  println()

代码给出以下输出,

2019-03-23T06:35:40+05:30[Asia/Kolkata]
(a,AM)                    |-----                     |-----                     |-----                     |(A,23740000)              |-----                     |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
(c,7)                     |-----                     |(ccc,Sat)                 |(cccc,Saturday)           |-----                     |-----                     |-----                     |-----                     |
(d,23)                    |(dd,23)                   |-----                     |-----                     |(D,82)                    |(DD,82)                   |(DDD,082)                 |-----                     |
(e,7)                     |(ee,07)                   |(eee,Sat)                 |(eeee,Saturday)           |(E,Sat)                   |(EE,Sat)                  |(EEE,Sat)                 |(EEEE,Saturday)           |
-----                     |-----                     |-----                     |-----                     |(F,2)                     |-----                     |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |(G,AD)                    |(GG,AD)                   |(GGG,AD)                  |(GGGG,Anno Domini)        |
(h,6)                     |(hh,06)                   |-----                     |-----                     |(H,6)                     |(HH,06)                   |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
(k,6)                     |(kk,06)                   |-----                     |-----                     |(K,6)                     |(KK,06)                   |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |(L,3)                     |(LL,03)                   |(LLL,3)                   |(LLLL,3)                  |
(m,35)                    |(mm,35)                   |-----                     |-----                     |(M,3)                     |(MM,03)                   |(MMM,Mar)                 |(MMMM,March)              |
(n,0)                     |(nn,00)                   |(nnn,000)                 |(nnnn,0000)               |(N,23740000000000)        |-----                     |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |(O,GMT+5:30)              |-----                     |-----                     |(OOOO,GMT+05:30)          |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
(q,1)                     |(qq,01)                   |(qqq,1)                   |(qqqq,1)                  |(Q,1)                     |(QQ,01)                   |(QQQ,Q1)                  |(QQQQ,1st quarter)        |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
(s,40)                    |(ss,40)                   |-----                     |-----                     |(S,0)                     |(SS,00)                   |(SSS,000)                 |(SSSS,0000)               |
-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |-----                     |
(u,2019)                  |(uu,19)                   |(uuu,2019)                |(uuuu,2019)               |-----                     |-----                     |-----                     |-----                     |
-----                     |-----                     |-----                     |-----                     |-----                     |(VV,Asia/Kolkata)         |-----                     |-----                     |
(w,12)                    |(ww,12)                   |-----                     |-----                     |(W,4)                     |-----                     |-----                     |-----                     |
(x,+0530)                 |(xx,+0530)                |(xxx,+05:30)              |(xxxx,+0530)              |(X,+0530)                 |(XX,+0530)                |(XXX,+05:30)              |(XXXX,+0530)              |
(y,2019)                  |(yy,19)                   |(yyy,2019)                |(yyyy,2019)               |(Y,2019)                  |(YY,19)                   |(YYY,2019)                |(YYYY,2019)               |
(z,IST)                   |(zz,IST)                  |(zzz,IST)                 |(zzzz,India Standard Time)|(Z,+0530)                 |(ZZ,+0530)                |(ZZZ,+0530)               |(ZZZZ,GMT+05:30)          |

如果我想在每行之前添加字母表,我会遇到问题。如果我尝试插入打印语句,我会收到错误

 x = if(i<5) r.toString * i else r.toUpper.toString * ((i+1)%5)
    print("%-5s",r.toString) // Gives Error
         p = Try {

如何解决这个问题?

标签: javascala

解决方案


推荐阅读