2013-06-08 33 views
32

Tôi mới đến Scala và tôi đã học được nó trong vài ngày qua. Tôi có một nghi ngờ về ngày của Scala chuyển đổi từ chuỗi.Làm thế nào để chuyển đổi chuỗi để thời gian ngày trong Scala?

Làm thế nào để chuyển đổi chuỗi thành ngày và thời gian sử dụng Scala?

Ứng dụng có hoạt động giống như Java không?

Khi tôi làm theo cách đó, tôi gặp lỗi trình biên dịch và tôi không thể chuyển đổi thành Scala vì tôi mới sử dụng Scala. Và tôi biết rằng không tốt khi chuyển đổi Java sang Scala ...

Vui lòng chia sẻ câu trả lời của bạn.

+2

Yep .. nó hoạt động theo cách tương tự như trong Java .. http://stackoverflow.com/a/5377949/920271 – Shrey

Trả lời

41

Nếu bạn đang sử dụng util.Date Java sau đó như thế nào trong java:

val format = new java.text.SimpleDateFormat("yyyy-MM-dd") 
format.parse("2013-07-06") 

tài liệu cho Formating - SimpleDateFormat

hoặc nếu bạn đang sử dụng DateTime Joda, sau đó gọi phương thức phân tích cú pháp:

DateTime.parse("07-06-2013") 

tài liệu - DateTime

+1

Có gói nào trong thư viện scala chứa hàm ý của chuyển đổi này không? Một cái gì đó như Thời lượng. – Jatin

+2

@Jatin không, nhưng bạn có thể tự viết nó: 'ngầm định str2date (str: String) = DateTime.parse (str)' – 4lex1v

+0

Nếu bạn dự định có nhiều hơn một chuỗi thực thi trên ứng dụng của mình, bạn không nên sử dụng 'SimpleDateFormat', cũng không phải' java.util.Date', vì chúng không phải là thread-safe (caveat là hợp lệ cho Java 7-). Trong trường hợp này, hãy xem xét 'joda.time'. – mlg

5

Mục đích của tôi tùy chọn là sử dụng nscala-time: https://github.com/nscala-time/nscala-time

Thêm mục này vào build.sbt của bạn nếu sử dụng sbt.

libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "1.8.0" 

Nhập và phân tích ngày của bạn.

import com.github.nscala_time.time.Imports._ 

DateTime.parse("2014-07-06") 
Các vấn đề liên quan