You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular如何获取今日及昨日同时刻日期并格式化为dd/MM/yyyy HH:mm

日期变量创建与格式化解决方案

生成当前日期、昨日同一时刻日期

直接通过原生Date API实现,用setDate方法计算昨日日期,可自动处理跨月、跨年、夏令时等边界场景,代码示例:

// 获取当前日期
const currentDate: Date = new Date();
// 生成昨日同一时刻日期
const yesterdayDate: Date = new Date(currentDate);
yesterdayDate.setDate(currentDate.getDate() - 1);

注意:不要直接通过currentDate.getTime() - 24*60*60*1000的方式计算昨日,遇到夏令时调整日会出现时间偏差。

自定义日期格式化

如果需要转成指定格式(如yyyy-MM-dd HH:mm:ss),可以直接封装原生格式化方法,不需要依赖第三方或者老旧的管道方案:

function formatDate(date: Date, format: string = 'yyyy-MM-dd HH:mm:ss'): string {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  const hours = String(date.getHours()).padStart(2, '0');
  const minutes = String(date.getMinutes()).padStart(2, '0');
  const seconds = String(date.getSeconds()).padStart(2, '0');
  
  return format.replace('yyyy', String(year))
    .replace('MM', month)
    .replace('dd', day)
    .replace('HH', hours)
    .replace('mm', minutes)
    .replace('ss', seconds);
}

// 调用示例
console.log(formatDate(currentDate)); // 输出 2024-05-20 14:30:00 类格式
console.log(formatDate(yesterdayDate, 'yyyy/MM/dd')); // 输出 2024/05/19 类格式

如果需要适配更多格式位(比如星期、毫秒等),直接在函数内扩展对应的取值逻辑即可。

内容的提问来源于stack exchange,提问作者Videgain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:45:02