- 更新.gitignore,添加frontend/.next/忽略 - 优化RecordModal、index、recurring、search、stats页面标题栏样式 - 新增frontend/lib/utils.js工具函数 - 更新useCategories.js钩子 - 添加代码优化计划文档 Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
865 B
JavaScript
29 lines
865 B
JavaScript
// Date utilities
|
|
export const getMonthStr = (date) =>
|
|
`${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}`;
|
|
|
|
export const formatMonth = (date) =>
|
|
`${date.getFullYear()}年${date.getMonth() + 1}月`;
|
|
|
|
export const formatMoney = (num) => (num || 0).toFixed(2);
|
|
|
|
// Parse date-time string 'YYYY-MM-DD HH:MM' into date and time parts
|
|
export const parseDateTime = (dateTimeStr) => {
|
|
if (!dateTimeStr) return { datePart: '', timePart: '00:00' };
|
|
const [datePart, timePart] = dateTimeStr.split(' ');
|
|
return { datePart, timePart: timePart || '00:00' };
|
|
};
|
|
|
|
// Extract date part from 'YYYY-MM-DD HH:MM'
|
|
export const getDatePart = (dateTimeStr) => {
|
|
if (!dateTimeStr) return '';
|
|
return dateTimeStr.split(' ')[0];
|
|
};
|
|
|
|
// Transaction type constants
|
|
export const TRANSACTION_TYPES = {
|
|
EXPENSE: 'expense',
|
|
INCOME: 'income',
|
|
ALL: 'all',
|
|
};
|