Calendar
🟢 Updated this month⚠️ Install Order · 6 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
Preview

🔍 Analysis
- 👍 0.5% endorsement rate
- 🏆 #8 of 18 Modders Resources mods in this game by downloads
📋 About This Mod
- Introduction -
Calendar is a (primarily) mod function which tracks time from the completion of the The Rescue quest. The game itself advances time but doesn't track date or days, further some quests may move the time awkwardly back and forth - sometimes several days - which makes it hard for mods that depend on at least somewhat accurate time tracking to function properly.
This mod tracks the time as it moves forward in the game and adjusts to cover for those jumps in time, be they back or forward, that various quests do. The goal is to have one truly accurate date to follow through an API for mods that need it.
The calendar is a full Gregorian one. In due time there will be an add-on in the in-game computer where you can see exactly at which date any quest was completed and started, plus a journal of scheduled events that other mods drop into V's calendar.
There may be several use cases for this mod, but for the time being it's to be seen as a resource for other mods to query.
TL;DR: Make calendar go tick-tock-tick-tock! ¯\(°_o)/¯
- Features -
Gregorian Calendar API
The primary use for this mod is currently to expose an API for other mods to query the current game-date. The date begins at April 10th, 2077 and real date tracking only starts after The Rescue mission is completed. This is to have one pre-specified anchor that mid-playthrough installs can still latch onto - the journal stores per-quest Succeeded timestamps regardless of when Calendar got added to the load order, so a save where Sandra's rescue is already done becomes April 10, 2077 retroactively.
API
All public types live in the Calendar module. Add import Calendar.* to your .reds file (or fully qualify names).
Getting the system
let cal: wref<CalendarSystem> = CalendarSystem. Get(gameInstance);
if !IsDefined(cal) { return; }
if !cal. IsStarted() { return; } // Sandra not done yet - no anchorIsStarted() returns true once The Rescue has Succeeded on this save. Until then, every date getter returns the anchor (April 10, 2077).
Reading the current date
let date: CalendarDate = cal. GetDate();
let year: Int32 = date.year; // 2077, 2078, ...
let month: Int32 = date.month; // 1-12
let day: Int32 = date.day; // 1-31
let weekday: Int32 = date.weekday; // 0=Mon, 1=Tue, ..., 5=Sat, 6=Sun (ISO 8601)
Direct accessors are available too, for callers that only need one field:
cal. GetYear(); // Int32
cal. GetMonth(); // Int32, 1-12
cal. GetDayOfMonth(); // Int32, 1-31
cal. GetWeekday(); // Int32, 0=Mon ... 6=Sun
cal. GetDaysSinceStart(); // Int32 - days since April 10, 2077 (= day 0)
Formatting dates
let d: CalendarDate = cal. GetDate();
CalendarMath. FormatLong(d); // "Saturday, April 10, 2077"
CalendarMath. FormatShort(d); // "Sat, 10 Apr 2077"
CalendarMath. FormatISO(d); // "2077-04-10"
CalendarMath. WeekdayName(d.weekday); // "Saturday"
CalendarMath. WeekdayShort(d.weekday); // "Sat"
CalendarMath. MonthName(d.month); // "April"
CalendarMath. MonthShort(d.month); // "Apr"
CalendarMath. DaysInMonth(d.year, d.month); // Int32 - handles leap years
CalendarMath. IsLeapYear(d.year); // Bool
CalendarMath. DatesEqual(a, b); // Bool - compares year/month/day
Listening for date rollover
Subclass CalendarDateListener and register an instance. OnCalendarDateChanged fires only on day boundary crossings or after an engine-skip cancellation (plus once on session start if the date changed since last emit).
public class MyDateListener extends CalendarDateListener {
public func OnCalendarDateChanged(prevDate: CalendarDate, newDate: CalendarDate) -> Void {
FTLog(" New day: " + CalendarMath. FormatLong(newDate));
// Register (typically in your system's OnAttach or after Sandra is anchored)
let listener: ref<MyDateListener> = new MyDateListener();
cal. RegisterDateListener(listener);
// Unregister on teardown
cal. UnregisterDateListener(listener);Registering the same instance twice is a no-op. Listener
Calendar is a modder's resource that provides a proper calendar API for other mods to use. It has 74 endorsements and 9,630 downloads, last updated in August 2026. The author hints at a possible in-game calendar webpage in the works, but no specific features are detailed.
✨ Key Features
📊 Pros & Cons
✅ Pros
- Solid download-to-endorsement ratio (9,630 downloads, 74 endorsements) shows it's being used.
- Actively maintained — last updated August 2026.
- Fills a niche need for modders who want calendar functionality.
⚠️ Cons
- No clear feature list, so you'll have to dig into the files to understand what it offers.
- As a modder's resource, it's useless for players unless they're building mods.
For mod developers who need calendar functionality in their mods. If you're a player, skip this — it's not a gameplay mod. If you're a modder, it could save you time, but be prepared to figure out the API yourself.
💡 Beginner Tips
- If you're a modder, check the mod's files for an API reference or example scripts.
- Since it's a resource, you'll need to integrate it into your own mod's code — not a standalone install.
- Look for any dependencies in the mod's file structure before using it.
📊 Mod Details
- Game
- Cyberpunk 2077 Mods
- Author
- DigitalVixen
- Version
- 3.5.2
- Downloads
- 16,977
- Endorsements
- 90
- Category
- Modders Resources
- Created
- 6/7/2026
- Updated
- 9/2/2026
🔧 How to Install Cyberpunk 2077 Mods
Download from Nexus.
📖 Full step-by-step install guide for Cyberpunk 2077 →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Cyberpunk 2077 commands, item IDs, and more.
Keep browsing — more Cyberpunk 2077 mods await