For those of you that use the “Readwise to Obsidian” plugin, and want to have the original Zettlekasten like IDs (The default format is 12-digit timestamp, e.g. “202001010000”) for the notes it generates, I wrote some Jinja code to make it happen:
copypasta:
{{date|date("Ymd")}}{% for char in time|replace(":", "")|replace("am", "")|replace("pm", "")|list %}{% if loop.index == 1 and time[1] == ":" and "am" in time %}0{{char}}{% elif loop.index < 3 and time[2] == ":" and time[1] == "2" and "am" in time %}0{% elif loop.index == 1 and time[1] == ":" and "pm" in time %}{{char|int() + 12}}{% elif loop.index < 3 and time[2] == ":" and "pm" in time %}{{char|int() + loop.index}}{% else %}{{char}}{% endif %}{% endfor %}
formatted: (doesn’t work as a copypasta but lets you see what it does)
{{date|date("Ymd")}}
{% for char in time|replace(":", "")|replace("am", "")|replace("pm", "")|list %}
<!-- means hour is 1-9am -->
{% if loop.index == 1 and time[1] == ":" and "am" in time %}
0{{char}}
<!-- means 12am -->
{% elif loop.index < 3 and time[2] == ":" and time[1] == "2" and "am" in time %}
0
<!-- means hour is 1-9pm -->
{% elif loop.index == 1 and time[1] == ":" and "pm" in time %}
{{char|int() + 12}}
<!-- means hour is 10-12pm -->
{% elif loop.index < 3 and time[2] == ":" and "pm" in time %}
{{char|int() + loop.index}}
{% else %}
{{char}}
{% endif %}
{% endfor %}