Javascript和Typescript 日期格式化工具
日期格式化类 - TS
/*** 日期格式化* @author Yiur* @since 2022年11月7日*/
export class DateFormat {public static format(datetime: Date | string, formatting: string): string {let timestamp: Date = datetime as Date;if (typeof datetime === 'string') {timestamp = new Date(Date.parse(datetime));}let fullYear: string = timestamp.getFullYear().toString();let month: string = timestamp.getMonth().toString();let date: string = timestamp.getDate().toString();let hours: string = timestamp.getHours().toString();let minutes: string = timestamp.getMinutes().toString();let seconds: string = timestamp.getSeconds().toString();let milliseconds: string = timestamp.getMilliseconds().toString();formatting = this.parse(formatting, /[y|Y]+/, fullYear);formatting = this.parse(formatting, /[M]+/, month, '00');formatting = this.parse(formatting, /[d|D]+/, date, '00');formatting = this.parse(formatting, /[h|H]+/, hours, '0');formatting = this.parse(formatting, /[m]+/, minutes, '00');formatting = this.parse(formatting, /[s]+/, seconds, '00');formatting = this.parse(formatting, /[S]+/, milliseconds, '000');return formatting;}private static parse(formatting: string, pattern: RegExp, val: string, min?: string): string {while (pattern.test(formatting)) {pattern.exec(formatting)?.forEach(value => {let length = value.length;let valLen = val.length;let number = valLen - length;let element = val.substring(number);if (min) {element = min.substring(element.length) + element;}formatting = formatting.replace(value, element);})}return formatting;}}
使用
<script setup lang="ts">
import {DateFormat} from "/DateFormat";const time = ref<number>(-1000 * 60 * 60 * 8);
const timeString = ref<string>();const interval = setInterval(() => {time.value += 1000;timeString.value = DateFormat.format(new Date(time.value), 'hh小时mm分ss秒');}, 1000);
script><template><div>{{timeString}}div>
template><style lang="scss" scoped>
style>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
