最近创建

// 修复版:使用当前 Dataview 的标准 API
const timeframe = 7; // 查询最近 N 天的文件(可修改)
const fileLimit = 50; // 最大显示数量
// 获取当前时间并计算截止日期
const now = new Date();
const cutoff = new Date(now.getTime() - (timeframe * 24 * 60 * 60 * 1000));
// 获取符合条件的所有文件
const files = dv.pages()
    .where(p => p.file.ctime && p.file.ctime >= cutoff)
    .sort(p => p.file.ctime, 'desc')
    .limit(fileLimit);
// 格式化日期函数
function formatDate(dateString) {
    const date = new Date(dateString);
    return date.toLocaleDateString('zh-CN', {
        month: 'short',
        day: 'numeric',
        weekday: 'short'
    }) + ' ' + date.toLocaleTimeString('zh-CN', {
        hour: '2-digit',
        minute: '2-digit'
    });
}
// 显示结果
if (files.length > 0) {
    dv.table(
        ["📄 文件", "🕒 创建时间"],
        files.map(p => [
            p.file.link,
            formatDate(p.file.ctime)
        ])
    );
} else {
    dv.paragraph(`**没有找到最近 ${timeframe} 天创建的文件**`);
}
// 可选:添加日期筛选控件(点击可切换时间范围)
dv.el('div', `时间范围: 
    <a href="javascript:updateDays(7)">最近7天</a> | 
    <a href="javascript:updateDays(30)">最近30天</a>
`);
function updateDays(days) {
    const codeBlock = dv.current().file.embeds.find(e => e.type === 'code');
    if (codeBlock) {
        const newCode = codeBlock.text.replace(/timeframe = \d+/, `timeframe = ${days}`);
        dv.app.vault.modify(codeBlock.file, newCode);
    }
}

最近修改

// 最近修改的文件 - DataviewJS
const timeframe = 7; // 查询最近 N 天修改的文件(默认7天)
const fileLimit = 30; // 最大显示数量
const showFolder = true; // 是否显示文件所在文件夹
// 计算截止日期
const now = new Date();
const cutoff = new Date(now.getTime() - (timeframe * 24 * 60 * 60 * 1000));
// 获取所有符合条件的文件
const files = dv.pages()
    .filter(p => p.file.mtime && p.file.mtime >= cutoff)
    .sort(p => p.file.mtime, 'desc')
    .limit(fileLimit);
// 格式化日期函数(中文格式)
function formatDate(dateString) {
    const date = new Date(dateString);
    
    const options = {
        month: 'short',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        hour12: false
    };
    
    return date.toLocaleDateString('zh-CN', options) ;
}
// 获取文件所在文件夹
function getFolder(path) {
    return path.split('/').slice(0, -1).join('/') || '/';
}
// 显示结果
if (files.length > 0) {
    // 构建表格列
    const headers = ["📄 文件", "⏰ 最后修改时间"];
    if (showFolder) headers.splice(1, 0, "📁 文件夹");
    
    // 构建表格数据
    dv.table(
        headers,
        files.map(p => {
            const row = [
                p.file.link,
                formatDate(p.file.mtime)
            ];
            if (showFolder) row.splice(1, 0, getFolder(p.file.path));
            return row;
        })
    );
} else {
    dv.paragraph(`**⚠️ 没有找到最近 ${timeframe} 天修改的文件**`);
}