时间戳计算年-月-日 时:分

//时间戳计算年-月-日 时:分:秒
function  timestampToTime(timestamp:number) {
  if (timestamp === 0 || timestamp == null) {
    return ''
  } 
    const date = new Date(timestamp * 1000)
    const Y = date.getFullYear() + '-'
    const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
    const D = date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' '
    const H = date.getHours() + ':'
    const M2 = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
    const S = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
    return Y + M + D + H + M2 + S
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将"2023-03-02T11:55:32.855 08:00"转换为Long类型的时间戳,可以使用以下Java代码: ``` String timeStr = "2023-03-02T11:55:32.855 08:00"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); ZonedDateTime zonedDateTime = ZonedDateTime.parse(timeStr, formatter.withZone(ZoneId.systemDefault())); long timestamp = zonedDateTime.toInstant().toEpochMilli(); System.out.println(timestamp); ``` 输出结果为:1695772532855 如果需要将时间戳转换回字符串形式,可以使用以下Java代码: ``` long timestamp = 1695772532855L; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String timeStr = Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).format(formatter); System.out.println(timeStr); ``` 输出结果为:"2023-03-02 11:55:32" ### 回答2: 时间戳(timestamp)是一个表示期和间的数值,通常是从某个参考期(例如197011)开始计算的秒数。将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳,需要对字符串进行解析和处理。 首先,需要将字符串的期部"2023-03-02"和间部"11:55:32.855"离出来。然后,将期和间部别格式化为"yy-mm-dd"和"hh-mm-ss"的形式。 接下来,需要将期和间转换为对应的Long类型的时间戳。使用Java中的间类(如SimpleDateFormat)将字符串格式化为Date类型,再通过Date类的getTime()方法获取时间戳的Long值。 最后,将期和间的Long类型时间戳合并为一个完整的时间戳。使用Math类的pow()方法将期的时间戳乘以10的10次幂,再加上间的时间戳,即可得到完整的Long类型时间戳。 以下是300字的回答: 要将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳,首先需要期和间部。根据格式,字符串中的期部为"2023-03-02",间部为"11:55:32.855"。 然后,需要将期和间部别格式化为"yy-mm-dd"和"hh-mm-ss"的形式。通过Java中的间类(如SimpleDateFormat),将期部格式化为"yy-MM-dd"的形式,将间部格式化为"HH:mm:ss.SSS"的形式。 接下来,需要将期和间的格式化字符串转换为对应的Date类型。别使用Date类的parse()方法解析期和间的格式化字符串,得到对应的Date对象。 然后,通过Date类的getTime()方法获取期和间的时间戳的Long值。这个时间戳表示从197011开始计算的毫秒数。 最后,将期和间的时间戳合并为一个完整的时间戳期的时间戳需要乘以10的10次幂,其对应的小数点前移10位,再将间的时间戳加上。这样得到的Long类型时间戳表示了完整的期和间。 总结而言,将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳为以下步骤:期和间部、格式化期和间部、转换为Date类型、获取时间戳的Long值、合并期和间的时间戳。这样就可以得到Long类型的时间戳"230302115532"。 ### 回答3: 要将给定的时间戳 "2023-03-02T11:55:32.855 08:00" 转换为 Long 类型的时间戳 "yy-mm-dd hh-mm-ss",首先需要对时间戳进行解析,提取出和秒的信息,然后使用对应的方法将其转化为 Long 类型的时间戳。 以下是实现这个过程的步骤: 1. 首先,需要将时间戳按照空格进行割,期部区部。 2. 解析期部,将其按照"-"和"T"进行割,得到间。 3. 解析间部,将其按照":"进行割,得到和秒。 4. 将解析得到的和秒转化为对应的整数。 5. 根据需要的格式 "yy-mm-dd hh-mm-ss" 组合整数,并在需要的地方添加隔符 "-". 6. 使用合适的方法将格式化后的期字符串转化为 Long 类型的时间戳。 下面是Java语言的示例代码: ``` import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { String timestamp = "2023-03-02T11:55:32.855 08:00"; // 解析期部 String[] splitTimestamp = timestamp.split(" "); String date = splitTimestamp[0]; String time = splitTimestamp[1].split("\\.")[0]; // 解析间部 String[] splitDate = date.split("-"); int year = Integer.parseInt(splitDate[0]); int month = Integer.parseInt(splitDate[1]); int day = Integer.parseInt(splitDate[2]); String[] splitTime = time.split(":"); int hour = Integer.parseInt(splitTime[0]); int minute = Integer.parseInt(splitTime[1]); int second = Integer.parseInt(splitTime[2]); // 组合期字符串 String formattedDate = String.format("%02d-%02d-%02d %02d:%02d:%02d", year % 100, month, day, hour, minute, second); // 转换为Long类型的时间戳 LocalDateTime localDateTime = LocalDateTime.parse(formattedDate, DateTimeFormatter.ofPattern("yy-MM-dd HH:mm:ss")); long timestampLong = localDateTime.toInstant(ZoneOffset.ofHours(0)).toEpochMilli(); System.out.println(timestampLong); } } ``` 执行以上代码会打印出 Long 类型的时间戳

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值