当前时间转格式,不使用new Date().Format(‘yyyy年MM月dd日‘)

this.dateTypeFormat('YYYY-mm-dd', new Date())// 默认当天

返回值:2025-01-08

this.dateTypeFormat('YYYY年mm月dd日', new Date())// 默认当天

返回值:2025年01月08日

this.dateTypeFormat('YYYY-mm-dd HH:MM:SS', new Date())

返回值:2025-01-08 09:47:18

this.dateTypeFormat(''YYYY年mm月dd日 HH:MM:SS', new Date())

返回值:2025年01月08日 09:47:46

dateTypeFormat(fmt, date) {
      let ret;
      const opt = {
        "Y+": date.getFullYear().toString(), // 年
        "m+": (date.getMonth() + 1).toString(), // 月
        "d+": date.getDate().toString(), // 日
        "H+": date.getHours().toString(), // 时
        "M+": date.getMinutes().toString(), // 分
        "S+": date.getSeconds().toString(), // 秒
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
      };
      for (const k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
          fmt = fmt.replace(
            ret[1],
            ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
          );
        }
      }
      return fmt;
    },
在 Kotlin 中,你可以使用 `java.time` 包(推荐)或旧的 `Date` + `SimpleDateFormat` 来获取当前系统时间,并格式化为: ``` yyyyMMdd HH時mm分 ``` 以下是完整实现代码: --- ### ✅ 使用 `java.time.LocalDateTime`(Kotlin 推荐方式,Java 8+) ```kotlin import java.time.LocalDateTime import java.time.format.DateTimeFormatter fun main() { val systemDate: String = LocalDateTime.now().format( DateTimeFormatter.ofPattern("yyyyMMdd HH時mm分") ) println(systemDate) // 输出示例:20250405 14時30分 } ``` #### 🔍 解释: - `LocalDateTime.now()`:获取当前期和时间。 - `DateTimeFormatter.ofPattern(...)`:定义自定义格式。 - `format(...)`:将时间对象格式化为字符串。 - `val systemDate: String`:声明一个只读变量保存结果。 > ⚠️ 注意:`時` 是中文字符“时”的繁体写法,确保你的环境支持 UTF-8 编码(现代 IDE 和 JVM 默认都支持)。 --- ### ❌ 推荐但可用的方式:`SimpleDateFormat`(旧 API) ```kotlin import java.text.SimpleDateFormat import java.util.* fun main() { val formatter = SimpleDateFormat("yyyyMMdd HH時mm分", Locale.CHINA) val systemDate: String = formatter.format(Date()) println(systemDate) } ``` 虽然也能工作,但 `SimpleDateFormat` 是线程安全的,且已被 `java.time` 取代。 --- ### 🧪 示例输出 假设当前时间为 `2025-04-05 14:30`,则输出: ``` 20250405 14時30分 ``` --- ### 💡 扩展建议 如果你需要频繁使用这个格式,可以定义常量: ```kotlin private val FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH時mm分") val systemDate: String = LocalDateTime.now().format(FORMATTER) ``` 或者封装成函数: ```kotlin fun formatSystemDate(): String { return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd HH時mm分")) } // 使用 val systemDate: String = formatSystemDate() ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值