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

如何在Angular中将日期转换为20160422060933.0Z格式存储至SQL Server?

解决Angular中日期转20160422060933.0Z格式的问题

先拆解这个格式的含义:

  • 20160422:YYYYMMDD格式的日期(年、月、日)
  • 060933:HHmmss格式的UTC时间(时、分、秒)
  • .0:毫秒部分(这里固定为0毫秒)
  • Z:代表UTC零时区(属于ISO 8601标准的变体,并非专属Microsoft格式)

Angular中的转换实现

1. 原生JavaScript方法(无需额外依赖)

直接操作Date对象的UTC方法,拼接出目标格式:

function convertToTargetFormat(date: Date): string {
  const year = date.getUTCFullYear();
  const month = String(date.getUTCMonth() + 1).padStart(2, '0');
  const day = String(date.getUTCDate()).padStart(2, '0');
  const hours = String(date.getUTCHours()).padStart(2, '0');
  const minutes = String(date.getUTCMinutes()).padStart(2, '0');
  const seconds = String(date.getUTCSeconds()).padStart(2, '0');
  
  return `${year}${month}${day}${hours}${minutes}${seconds}.0Z`;
}

// 使用示例
const targetDate = convertToTargetFormat(new Date());

2. 用date-fns工具库(推荐,轻量且维护活跃)

先安装依赖:

npm install date-fns

然后用formatUTC方法快速格式化:

import { formatUTC } from 'date-fns';

function convertToTargetFormat(date: Date): string {
  const baseStr = formatUTC(date, 'yyyyMMddHHmmss');
  return `${baseStr}.0Z`;
}

结合Dreamfactory API和SQL Server的注意事项

  • 确保SQL Server中对应的字段类型为datetime或datetime2,这两种类型可以直接识别该格式的UTC字符串。
  • 传递数据给Dreamfactory API时,直接将格式化后的字符串作为字段值提交即可,无需额外转义。
  • 始终基于UTC时间转换,避免本地时区差异导致的存储时间偏差。

内容的提问来源于stack exchange,提问作者Sakén

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:30:53