这听起来可能很有趣,也很基本,但我很难在Kotlin中创建一个DateTime类型的对象,方法是将秒数从一个时代传递到它。
我得到的例子要么是需要API级别26的库,要么只是讨论从DD-MM-YYYY字符串到其他字符串的格式转换。
到目前为止,我尝试过"LocalDateTime“、”时间戳“、"Date”,但是Kotlin要么拒绝识别它们,要么不同意函数参数,或者无法解决名称空间冲突。或者是Java的例子,它在Kotlin中不起作用,在Kotlin中也没有等价的。
对于Date(),我得到了错误“不能访问”:它在Date()中是私有的
使用LocalDate,LocalDateTime,我得到API级别错误
使用时间戳,我将得到错误“提供的参数不能调用以下任何函数”。我传递的是文档中提到的参数。但它期待的是“包裹”或“日期”。
有人能帮忙吗?
发布于 2019-10-18 19:11:17
我用日历写Kotlin
val date = Calendar.getInstance()
date.timeInMillis = 5000000
txtDate.text = date.time.toString()发布于 2019-10-18 20:53:10
更新:在最新版本的工具中,API为较早版本的安卓带来了许多内置在Android26及更高版本中的java.time功能。

tl;dr
不要在您的项目中使用SimpleDateFormat.
Calendar或库。避免遗留日期-时间类
遗留类(如Date & Calendar )非常糟糕,是由不了解日期时间处理的人创建的。这些类几年前被定义在JSR 310中的现代java.time类所取代。
java.time
Instant类替换了Date类,这两个类都表示UTC中的某个时刻(偏移量为零小时-分钟-秒)。
Instant instant = Instant.now() ; // Capture the current moment in UTC.Calendar类,或者更准确地说,它最常用的具体子类GregorianCalendar被ZonedDateTime取代。
ZoneId z = ZoneId.of( "America/Montreal" ) ;
ZonedDateTime zdt = ZonedDateTime.now( z ) ; // Capture the current moment as seen in the wall-clock time used by the people of a particular region (a time zone).

转换
最好完全避免遗留日期-时间类。但有时您可能需要与尚未更新为java.time的旧代码进行互操作。在这种情况下,皈依。查看添加到旧类中的新的to…/from…转换方法。
Calendar calendar = GregorianCalendar.from( zdt ) ;…和…
ZonedDateTime zdt = ( ( GregorianCalendar ) calendar ).toZonedDateTime() ;回港
java.time类被内置到Java8及更高版本以及Android26及更高版本中。
对于Java6& 7,使用项目中的后端端口。大多数java.time功能都在那里找到。这个项目是由同一个人领导的java.time项目和JSR 310,Stephen Colebourne。
对于26岁之前的Android,可以使用项目的支持端口对Android进行调整。

发布于 2019-10-18 19:06:13
这个对你有用吗?
Instant.fromEpochSeconds(<number>)https://stackoverflow.com/questions/58456737
复制相似问题