将时间戳转换为星期几 android

时间:2021-05-05 05:56:42

标签: android kotlin timestamp

我正在尝试将时间戳转换为一周中的某一天。

目标是转换为类似 ts -> MON 或 TUE ....

我已经尝试了下面的代码,但它不起作用。

fun convertToReadableDate(timestamp: Long): String {
    val formatter = SimpleDateFormat("dd-mm-yyyy")
    val cal = Calendar.getInstance(Locale.ENGLISH)
    cal.timeInMillis = timestamp * 1000
    val date: LocalDate = LocalDate.parse(formatter.format(cal.time))
    return date.dayOfWeek.toString()
}

有什么想法吗? 谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用此格式化程序:

fun convertToReadableDate(timestamp: Long): String = 
        SimpleDateFormat("EEE", Locale.ENGLISH).format(timestamp)
       .toUpperCase(Locale.ENGLISH)

答案 1 :(得分:0)

  1. 从 Unix 时间戳中获取星期几:-

     fun getDayOfWeek(timestamp: Long): String {
     return SimpleDateFormat("EEEE", Locale.ENGLISH).format(timestamp * 1000)
    

    }

  2. 获取月份:

     fun getMonthFromTimeStamp(timestamp: Long): String {
     return SimpleDateFormat("MMM", Locale.ENGLISH).format(timestamp * 1000)
    

    }

  3. 获取年份:

     fun getYearFromTimeStamp(timestamp: Long): String {
     return SimpleDateFormat("yyyy", Locale.ENGLISH).format(timestamp * 1000)
    

    }

  4. 如果您需要将所有三个组合在一个函数中:(WED-MAY-2021)

     fun getDayOfWeek(timestamp: Long): String {
         return SimpleDateFormat("EEEE-MMM-yyyy", Locale.ENGLISH).format(timestamp * 1000)
     }
    
  5. 如果您需要两种功能之一的组合:(WED-MAY)

     fun getDayOfWeek(timestamp: Long): String {
         return SimpleDateFormat("EEEE-MMM", Locale.ENGLISH).format(timestamp * 1000)
     }
    
相关问题