【问题标题】:How to write functions for CurrentYear and PreviousYear in scala?如何在 Scala 中为 CurrentYear 和 PreviousYear 编写函数?
【发布时间】:2023-01-21 00:36:05
【问题描述】:

我有这种情况,我正在获取 CurrentDate。除此之外,我还想从 CurrentYear 和 PreviousYear 获取数据

def getCurrentDate: String = {
  val cal = Calendar.getInstance()
  cal.add(Calendar.DATE, amount = 0)
  new SimpleDateFormat(pattern = "yyyyMMdd").format(cal.getTime())
}

def getCurrentYear: String = {
  val cal = Calendar.getInstance()
  cal.add(Calendar.DATE, amount = 0)
  new SimpleDateFormat(pattern = "yyyyMMdd").format(cal.getTime())
}

我实际上正在弄清楚如何编写这个简单的函数

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    首先,您需要知道当前年份取决于您所在的时区。 所以你首先需要选择你想知道年份的时区......特别是在新年前夜这样的边缘场景中。

    话虽这么说,你可以这样做:

    import java.time._
    
    val yourTZ: ZoneId = ...
    
    def currentDate = Instant.now.atZone(yourTZ).toString.take(10) // because the toString uses ISO formatting
    
    def currentYear = currentDate.take(4)
    
    def previousYear = (currentYear.toInt-1).toString
    

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      相关资源
      最近更新 更多