如何修改创建时间?

本贴最后更新于 190 天前,其中的信息可能已经时移俗易

如题

印象和 notion 过来的报个到!

笔记的创建时间对我而言是很重要的因素,有什么办法可以修改吗?

这两天从大象和 notion 倒过来大量笔记,创建时间都是这两天的。让我很纠结,茶饭不思!

如我大象的笔记,时间也代表了一种笔记,请问各路大神有没有办法修改啊,在线等,挺急的!!!

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    19703 引用 • 75321 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • klwb 3

    感谢各路大神回复啊,我写了个脚本可以批量修改创建时间,如果需要可以交流使用:)

    改完要确实要重建索引:)

    ```python
    import os
    import json
    import re
    
    def process_files(directory_path):
        mapping_array = []
    
        # 遍历 SiYuan/data 目录下所有 .sy 结尾的文件
        for root, dirs, files in os.walk(directory_path):
            for file in files:
                if file.endswith(".sy"):
                    file_path = os.path.join(root, file)
              
                    # 提取文件名中的时间和唯一码
                    match = re.match(r'(\d+)-(\w+)\.sy', file)
                    if match:
                        create_time, file_key = match.groups()
                    else:
                        continue
              
                    # 读取 JSON 文件内容,根据这个title你可以确定笔记创建时间(从其他笔记应用导过来)
                    with open(file_path, 'r', encoding='utf-8') as json_file:
                        data = json.load(json_file)
                        title_content = data.get("Properties", {}).get("title", "")
    
                    # 生成映射数组
                    mapping = {
                        'key': file_key,
                        'title': title_content,
                        'real_create_time': '',
                        'filePath': file_path
                    }
    
                    mapping_array.append(mapping)
    
        # 将映射数组保存到 mappings.txt 文件中
        with open('mappings.txt', 'w', encoding='utf-8') as mappings_file:
            json.dump(mapping_array, mappings_file, ensure_ascii=False, indent=2)
    
    
    
    
    # 替换你思源本地数据绝对路径
    directory_path = '/Users/yourdir/SiyuanTestCanDelete/data'
    process_files(directory_path)
    

    根据你导入的笔记 文本编辑器打开 mappings.txt 文件手动修改,依据 20231219164139 这样的格式给 real_create_time 赋值即可

    import json
    import re
    import os
    
    def replace_time_in_files(mapping_array):
        for mapping in mapping_array:
            # 只有当 real_create_time 不为空时才执行替换操作
            if mapping['real_create_time']:
                old_file_path = mapping['filePath']
    
                # 读取旧文件内容
                with open(old_file_path, 'r', encoding='utf-8') as old_file:
                    file_content = old_file.read()
    
                    # 替换文件内容中的时间戳
                    new_file_content = re.sub(
                        r'(?<="ID":")(\d{14})|(?<="id":")(\d{14})|(?<="updated":")(\d{14})',
                        mapping['real_create_time'],
                        file_content
                    )
    
                # 构造新文件名
                old_dir, old_file_name = os.path.split(old_file_path)
                new_file_name = mapping['real_create_time']+'-'+mapping['key']+'.sy'
          
                new_file_name = os.path.join(old_dir, new_file_name)
          
                # print(old_dir,old_file_path,new_file_name,new_file_content,sep='\r\n\r\n')
          
                # 写入新文件
                with open(new_file_name, 'w', encoding='utf-8') as new_file:
                    new_file.write(new_file_content)
    
                # 删除旧文件 此处先保留以备恢复
                # os.remove(old_file_path)
    
    
    # 读取映射数组
    with open('mappings.txt', 'r', encoding='utf-8') as mappings_file:
        mappings = json.load(mappings_file)
    
    # 第三步:替换文件名和文件内容中的时间
    replace_time_in_files(mappings)
    
  • 其他回帖
  • muxue 1 评论

    估计得自己改数据库里面的创建时间字段,可以问一下 D 大能不能在笔记本内部新增个改创建时间的功能。

    创建时间是看文档 ID 的,只能通过改 ID 来改创建时间,但直接改 ID 会导致很多问题
    JeffreyChen
  • 改倒是能改,但你得自己会写脚本,或者请其他懂的人写脚本(目测文档名上就包含了时间,所以应该不难写,只不过我不会写doge )。

    实际上文档的 ID 跟创建时间有关,改了 ID 也就改了创建的时间,可以在.sy 文件里根据文档名上的时间来批量替换文档 ID(包括这个.sy 文件的文件名,如果有子文档的话还包括同名的文件夹名称):

    image.png

    感谢大佬!不知道这个会不会影响同步或者冲突判断之类的东西?
    zxkmm
    @zxkmm 我也不知道,我只改了一个文档,感觉好像没什么问题
    JeffreyChen
    @a2930610542 感谢,我改天试验一下修改我从 joplin 导入进来的那批
    zxkmm
    @zxkmm 再提醒一下,改完 ID 要重建索引
    JeffreyChen 1
  • klwb

    文件 id 要改,里面内容的 id 也要改,一致的话不会有问题

    1 回复
  • 查看全部回帖

推荐标签 标签

  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 125 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 633 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 倾城之链
    23 引用 • 66 回帖 • 120 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 155 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 438 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    51 引用 • 226 回帖 • 1 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    163 引用 • 473 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 143 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 31 回帖 • 10 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 209 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 1 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 733 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 251 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖 • 2 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 112 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 708 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    76 引用 • 390 回帖
  • 安全

    安全永远都不是一个小问题。

    191 引用 • 813 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 29 关注
  • abitmean

    有点意思就行了

    29 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 440 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 11 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 615 关注