2013-06-08 25 views
32

Scala’da yeniyim ve bunu son birkaç gündür öğrendim. Scala'nın dize dönüştürme tarihi hakkında şüphem var.Dize Scala'da tarih saatine nasıl dönüştürülür?

Dize tarih ve saat Scala kullanarak nasıl dönüştürülür?

Java ile aynı şekilde çalışır mı?

Bu şekilde yaptığımda, bir derleyici hatası alıyorum ve bunu Scala'ya dönüştüremiyorum çünkü Scala'da yeniyim. Ve biliyorum ki, Java'yı Scala'ya dönüştürmek iyi değil ... Lütfen cevabınızı paylaşın.

+2

Yep .. bu dönüşümün implicits içeren scala kütüphanede herhangi paketi var mı .. http://stackoverflow.com/a/5377949/920271 – Shrey

cevap

41

sonra java gibi Java'nın util.Date kullanıyorsanız: biçimlendirme için

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

docs - SimpleDateFormat

veya joda en DateTime kullanıyorsanız, o zaman ayrıştırma yöntemi çağırır:

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

belgeler - DateTime

+1

Java ile aynı şekilde çalışır? Süre gibi bir şey. – Jatin

+2

@Jatin no, ama kendiniz yazabilirsiniz: 'implicit def str2date (str: String) = DateTime.parse (str)' – 4lex1v

+0

Uygulamanızda birden fazla icra ipliği bulundurmayı planlıyorsanız, kullanmamalısınız. 'SimpleDateFormat' ve' java.util.Date', çünkü bunlar thread-safe değildir (Java 7 için uyarı geçerlidir). Bu durumda, joda.time'ı düşünün. – mlg

5

SBT kullanılıyorsa https://github.com/nscala-time/nscala-time

sizin build.sbt Bu ekleyin: seçenek nscala zamanlı kullanmaktır.

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

Tarihinizi alın ve ayrıştırın.

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

DateTime.parse("2014-07-06") 
İlgili konular