在 Scala 中获取当前日期和时间
本文将演示如何在 Scala 中获取当前日期和时间。Scala 是一种基于 JVM 的通用编程语言,就像这里的任何通用编程一样,日期和时间起着非常重要的作用。
与 Java 不同,Scala 没有本地日期时间库。但是我们在 Scala 中有一些库,它们是著名的 Java 库(如 Joda-Time)的包装器。
使用这些库,我们可以获得 Scala 富有表现力的编码风格的优雅以及底层 Java 库的强大功能。我们还可以在 Scala 中使用本机 Java 日期和时间库。
在 Scala 中使用 Nscala-Time 库获取当前日期和时间
在 Scala 中,Nscala-Time 库是 Joda-Time 的包装库。这也使许多运算符也可以执行日期时间算术。
要使用它,我们必须在我们的代码文件中导入 com.github.nscala_time.time.Imports._
和 org.joda.time.Days
。
让我们看下面的例子:
val start:DateTime = DateTime.now()
val end:DateTime = x + (1.hours + 10.minutes + 5.seconds)
val elapsed:Interval = start to end
println(elapsed.toPeriod.toString(PeriodFormat.getDefault))
在 Scala 中使用 Java Calendar
类获取当前日期和时间
使用经典的 Java Calendar
类,我们可以在 Scala 中获取当前日期和时间。这是一个用于获取当前日期和时间的 Abstract
类;同样的类也可以在 Scala 中使用。
仅使用 getInstance()
方法获取当前时间
示例代码:
import java.util.Calendar;
object myClass {
def main(args: Array[String])
{
var date = Calendar.getInstance()
var curr_Minute = date.get(Calendar.MINUTE)
var curr_Hour = date.get(Calendar.HOUR_OF_DAY)
if(curr_Hour > 12)
{
curr_Hour = curr_Hour % 12
println("Current time is "+curr_Hour+":"+curr_Minute+" PM")
}
else{
println("Current time is "+curr_Hour+":"+curr_Minute+" AM")
}
}
}
输出:
Current time is 11:12 AM
解释:
在上面的代码中,Calendar
类的 getInstance()
方法用于查找时间。我们使用了 calendar.MINUTE
和 calendar.HOUR_OF_DAY
并将结果分别存储在变量 curr_Minute
和 curr_Hour
中。
calendar.HOUR_OF_DAY
方法以 24 小时格式返回输出,我们使用条件语句将其转换为 12 小时格式。
使用 getTime()
方法获取完整的当前日期和时间
示例代码:
import java.util.Calendar;
object myClass {
def main(args: Array[String]) {
var date = Calendar.getInstance()
var currentHour = date.getTime()
println("Current date and time is "+currentHour)
}
}
输出:
Current date and time is Fri Jun 03 11:25:16 GMT 2022
解释:
在上面的代码中,我们使用了 Calendar
类的内置方法 getTime()
方法。它以 MM DD time UTC YYYY
返回当前日期和时间。
仅使用 LocalDate
获取当前日期
示例代码:
import java.util.Calendar;
object myClass {
def main(args: Array[String]) {
println(java.time.LocalDate.now)
}
}
输出:
2022-06-03
解释:
我们使用 LocalDate.now
来获取当前日期。我们还可以使用 SimpleDateFormat
类和 Calendar
类将日期格式化为我们选择的特定格式。
我们必须在我们的代码中导入 java.text.SimpleDateFormat
才能使用它。
使用 getTime()
方法获取格式化的当前日期
示例代码:
import java.util.Calendar;
import java.text.SimpleDateFormat;
object myClass
{
def main(args: Array[String])
{
val ourform = new SimpleDateFormat("dd / MM / yy");
val temp = Calendar.getInstance();
println("current Date is : " + temp.getTime());
val formatted_Date = ourform.format(temp.getTime());
println("Formatted date is: "+formatted_Date);
}
}
输出:
current Date is : Fri Jun 03 11:45:35 GMT 2022
Formatted date is: 03 / 06 / 22