我正在开发一个网络应用程序,我有一个 unix 时间戳。
我需要使用 jQuery 选择器将 unix 日期格式转换为 Jalali/Persian/Shamsi 日历,然后使用 javascript 库进行转换。
类似于下面的代码将 Unix-Date
转换为 Jalali-Date
:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div class="Unix-Date">1494259627</div> <!-- Unix equal of 1396/2/18 -->
<div class="Jalali-Date"></div>
<script src="jquery.js"></script>
<script src="external-library.js"></script>
<script>
$(document).ready(function() {
var UnixValue;
var JalaliValue;
UnixValue = $(".Unix-Date").html();
JalaliValue = new JalaliExternalFunction(UnixValue);
$(".Jalali-Date").text(JalaliValue);
});
</script>
</body>
</html>
我搜索但没有找到任何好的图书馆。您是否知道一个可靠且良好的转换库(或从 unix 时间戳创建 Jalali 格式的日期)。我不需要你的实现或算法,因为这个问题太有问题并且有很多规则,我需要一个可靠的解决方案。
感谢
最佳答案
我建议使用 moment.js
( https://momentjs.com/ ),它是可靠的 JavaScript 时间库,允许您在 JavaScript 中格式化时间戳。下面是一个示例,说明如何解析时间戳并将其格式化为您想要使用的任何内容。
//formatting Unix timestamp.
var date = moment.unix(value).format("MM/DD/YYYY");
您还标记了可以使用的本地化;
var localeDate = moment(date).locale("LT");
可以在那里的网站上找到更多示例。
这与 https://www.npmjs.com/package/jalali-date 相结合将为您提供 jalali 日期。
这里还有一个针对波斯语的 moment.js 扩展名 https://www.npmjs.com/package/moment-jalaali(从 moment 到 Jalali)
另一个 Jalali 转换库 https://www.npmjs.com/package/jalaali-js (To Jalai)
使用来自 Unix Timestamp https://jsfiddle.net/uw82ozpd/9/ 的 moment.js Jalali 转换的示例 fiddle
带注释的相关代码片段:
var UnixValue;
var JalaliValue;
$(document).ready(function() {
//get the Unix Date from HTML
var UnixValue = $(".Unix-Date").html();
//Get a moment timestamp in the format simmilar to our next conversion
var date = moment.unix(UnixValue).format("MM/DD/YY");
//Convert from normal moment to our jalali moment exstension using j's as below
var JalaliValue = moment(date).format('jYYYY/jM/jD');
$(".Jalali-Date").text(JalaliValue);
});