# generaltranslation: General Translation Core SDK: formatRelativeTimeFromDate URL: https://generaltranslation.com/zh/docs/core/class/methods/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: formatRelativeTimeFromDate 方法的 API 参考,用于根据 Date 格式化相对时间 --- ## 概述 `formatRelativeTimeFromDate` 方法可根据 `Date` 格式化相对时间字符串,并自动选择最合适的时间单位。 ```typescript const gt = new GT(); const pastDate = new Date(Date.now() - 7200000); // 2小时前 const formatted = gt.formatRelativeTimeFromDate(pastDate, { locales: 'en-US' }); // 返回:"2小时前" ``` ## 参考 ### 参数 | 名称 | 类型 | 说明 | | ---------- | -------- | ------------------------ | | `date` | `Date` | 以 `baseDate` 为基准进行格式化的日期 | | `options?` | `object` | 格式化配置 | ### 选项 | 名称 | 类型 | 说明 | | ---------------- | ------------------------------- | ------------------------------ | | `locales?` | `string \| string[]` | 用于格式化的区域设置;如果未提供,则回退到实例的渲染区域设置 | | `baseDate?` | `Date` | 用于比较的基准日期。默认为 `new Date()` | | `numeric?` | `'always' \| 'auto'` | 是否始终使用数字形式输出。默认为 `'auto'` | | `style?` | `'long' \| 'short' \| 'narrow'` | 输出的长度。默认为 `'long'` | | `localeMatcher?` | `'best fit' \| 'lookup'` | 要使用的区域设置匹配算法 | ### 返回值 `string` - 经格式化的相对时间字符串 (例如:“2 小时前”“3 天后”) 。 *** ## 示例 ```typescript copy import { GT } from 'generaltranslation'; const gt = new GT(); const now = new Date(); // 自动选择"hours" const twoHoursAgo = new Date(now.getTime() - 7200000); gt.formatRelativeTimeFromDate(twoHoursAgo, { locales: 'en-US', baseDate: now }); // 返回:"2 hours ago" // 自动选择"days" const threeDaysLater = new Date(now.getTime() + 259200000); gt.formatRelativeTimeFromDate(threeDaysLater, { locales: 'fr-FR', baseDate: now }); // 返回:"dans 3 jours" ``` *** ## 说明 * 根据时间差自动选择最合适的时间单位 * 默认为 `numeric: 'auto'` 和 `style: 'long'` * 如果未提供 `baseDate`,则默认使用 `new Date()` ## 后续步骤 * 如需显式指定值和单位进行格式化,请参阅 [`formatRelativeTime`](/docs/core/class/methods/formatting/format-relative-time) * 如需在不创建 GT 实例的情况下使用,请参阅独立的 [`formatRelativeTimeFromDate`](/docs/core/functions/formatting/format-relative-time-from-date) 函数