java - 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 {
如何解决这个问题?
解决方案
推荐阅读
- python - ModuleNotFoundError:没有名为“键盘”的模块,尝试过 pip3 安装,尝试过 -pip list 它在那里
- reactjs - React Native 假定的 componentwillmount 在 React hooks 版本中不起作用
- javascript - Google Apps 脚本返回每个日期减去一天
- python - Pygame 敌人不会向下移动 - 塔防游戏
- c# - 为什么横向模式下的扩展布局在 Xamarin Forms 中显示半黑屏?
- python - 如果最后 n 行为真,则 Python 数据框设置为真
- html - 如果空间可用,则向相反方向推动元素
- docker - Docker chrome selenium java openjdk:8 到 Alpine
- php - Laravel 7.x 只有配置文件的所有者和某些角色可以进入或执行操作
- c++ - 是否可以从 std::bind 对象访问参数?