Tarikh Shamsi B Miladi ((full)) Jun 2026
While the world runs on the (Miladi) calendar, Iran and Afghanistan use the Solar Hijri (Shamsi) system—widely considered the most accurate calendar in human history. 1. The World’s Most Precise Timekeeper
Because the Solar Hijri year begins in March, a single Shamsi year spans parts of two Miladi years. tarikh shamsi b miladi
The Solar Hijri calendar is a solar-based system that is widely considered one of the most accurate in the world due to its reliance on astronomical observations rather than fixed rules. While the world runs on the (Miladi) calendar,
Converting is a foundational skill for anyone interacting with Persian culture, Iranian bureaucracy, or Afghan history. While the two calendars are offset by approximately 621 or 622 years, the exact conversion requires attention to the vernal equinox, month lengths, and leap year cycles. The Solar Hijri calendar is a solar-based system
I've never charged anything for this project, even did a lot of support for free. I'm still willing
to help even if I offer paid support. Not everyone can afford paying me money. You can help
by leaving meaningful comment or by
starting a discussion,
even negative feedback is valuable. I will know that people like this web based terminal.
Visitor statistics don't tell everthing.
I want to thanks a few services that provided free accounts for this Open Source project:
- BrowserStack — it's a service that provide automated as well as manual testing using real browsers.
- Coveralls — service that track code coverage.
Here are statuses of those services on master branch:
-
GH Action:
-
Coveralls:
And devel branch:
-
GH Action:
-
Coveralls:
While the world runs on the (Miladi) calendar, Iran and Afghanistan use the Solar Hijri (Shamsi) system—widely considered the most accurate calendar in human history. 1. The World’s Most Precise Timekeeper
Because the Solar Hijri year begins in March, a single Shamsi year spans parts of two Miladi years.
The Solar Hijri calendar is a solar-based system that is widely considered one of the most accurate in the world due to its reliance on astronomical observations rather than fixed rules.
Converting is a foundational skill for anyone interacting with Persian culture, Iranian bureaucracy, or Afghan history. While the two calendars are offset by approximately 621 or 622 years, the exact conversion requires attention to the vernal equinox, month lengths, and leap year cycles.
This is a simple demo, using a JavaScript interpreter.
(If the cursor is not blinking, click on the terminal to activate it.)
You can type any JavaScript expression, there is debug function dir
(like in Python).
You can use jQuery's "$" method to manipulate the page.
You also have access to this terminal in the "term" variable.
Try dir(term) or demo() for demo typing animation.
NOTE: for unknow reason this demo doesn't work on Mobile, but I assure you that the library do works on mobile. Check full screen version. The issue with the demo is tracked on GitHub issue.
JavaScript code:
// ref: https://stackoverflow.com/q/67322922/387194
var __EVAL = (s) => eval(`void (__EVAL = ${__EVAL}); ${s}`);
jQuery(function($, undefined) {
$('#term_demo').terminal(function(command) {
if (command !== '') {
try {
var result = __EVAL(command);
if (result !== undefined) {
this.echo(new String(result));
}
} catch(e) {
this.error(new String(e));
}
}
}, {
greetings: 'JavaScript Interpreter',
name: 'js_demo',
height: 200,
prompt: 'js> '
});
});
You can also try JavaScript REPL Online, with Book about JavaScript and Terminal on 404 Error page (with a lot of features like chat and games).
Complete source with few examples from github
Or just the files:
-
jquery.terminal.js — unminified version [575.3KB] [Gzip: 104.9KB]
-
jquery.terminal.min.js — minified version [175.7KB] [Gzip: 56.3KB]
-
jquery.terminal.css — stylesheet [37.0KB] [Gzip: 6.5KB]
-
jquery.terminal.min.css — minified stylesheet - [27.7KB] [Gzip: 4.7KB]
-
prism.js — formatter to be used with PrismJS that hightlights different programming languages - [8.8KB]
-
less.js — very basic reimplementation of less *nix command in jQuery Terminal - [22.2KB] [Gzip: 5.0KB]
-
emoji.js — formatter that can be used to render Emoji - [6.3KB]
-
emoji.css — CSS file that need to be used with emoji.js - [643.3KB] [Gzip: 38.9KB]
-
dterm.js — jQuery UI Dialog - [4.2KB]
-
ascii_table.js — helper that create ASCII table like the one in MySQL CLI - [4.6KB]
-
pipe.js — helper function that wrapps interpreter and create Unix Pipe operator - [21.2KB]
-
unix_formatting.js — formatter that convert UNIX ANSI escapes to terminal and display them as html - [54.8KB]
-
xml_formatting.js — simple formatter that allow to use xml like syntax with colors as tags - [7.0KB]
-
Starting in version 1.0.0, if you want to support
browsers (such as old versions of Safari) that don't support the key KeyboardEvent property,
you'll need to include the
polyfill code.
You can check browser support on can I use.
-
If you want to support wider characters, such as Chinese or Japanese,
you can include wcwidth library and terminal will use it.
You can download files locally or use:
Bower:
bower install jquery.terminal
NPM:
npm install --save jquery.terminal
Then you can include the scripts in your HTML
:
<script src="https://cdn.jsdelivr.net/npm/jquery"></script>
<script src="js/jquery.terminal-2.46.0.min.js"></script>
<!-- With modern browsers, jQuery mousewheel is not actually needed; scrolling will still work -->
<script src="js/jquery.mousewheel-min.js"></script>
<link href="css/jquery.terminal-2.46.0.min.css" rel="stylesheet"/>
You can also grab the files using a CDN (Content Distribution Network):
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.terminal/2.46.0/js/jquery.terminal.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.terminal/2.46.0/css/jquery.terminal.min.css" rel="stylesheet"/>
or
<script src="https://cdn.jsdelivr.net/npm/jquery.terminal/js/jquery.terminal.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/jquery.terminal/css/jquery.terminal.min.css" rel="stylesheet"/>
And optional but recomended:
<script src="https://unpkg.com/js-polyfills/keyboard.js"></script>
<script src="https://cdn.jsdelivr.net/gh/jcubic/static/js/wcwidth.js"></script>
If you always want the latest version, you can grab the files from unpkg without specifying version number
<script src="https://unpkg.com/jquery.terminal/js/jquery.terminal.js"></script>
<link href="https://unpkg.com/jquery.terminal/css/jquery.terminal.css" rel="stylesheet"/>
The jQuery Terminal Emulator plugin is released under the
MIT license.
It contains:
You can use the terminal below to leave a comment. Click to activate.
If you have a question, you can create an
issue on github,
ask on stackoverflow
(you can use the "jquery-terminal" tag).
You can also send email with SO question or jump to
the chat.
If you have a feature request, you can also add a
GitHub issue.
If you've found an issue with this website, you can add issue to the
jquery.terminal-www repo.
If you'll ask question in Comments, you can subscribe to comments RSS to see reply, when it's added.