javascript - 以罗马数字显示日期

标签 javascript

我需要使用 jquery 或 javascript 在我的网页上显示当前日期,听起来很简单吧?

但是我希望日期以罗马数字显示(日/月/年格式)。例如:13/10/2013 显示为 XIII.X.MMXIII

我已经尝试了几天,但我尝试的一切都不起作用。我对 jquery 和 javascript 的了解相当有限,我只知道如何进行正常的日期。像这样:

<script type="text/javascript">
    <!--
    var currentTime = new Date()
    var month = currentTime.getMonth() + 1
    var day = currentTime.getDate()
    var year = currentTime.getFullYear()
    document.write(month + " . " + day + " . " + year)
    //-->
  </script>

如果有人可以帮助我以罗马数字显示日期,我将不胜感激。

谢谢。

最佳答案

使用本问题中讨论的罗马数字转换器之一 Convert a number into a Roman Numeral in javaScript 。 例如,来自 http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter 的那个:

function romanize (num) {
    if (!+num)
        return false;
    var digits = String(+num).split(""),
        key    = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                  "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                  "","I","II","III","IV","V","VI","VII","VIII","IX"],
        roman  = "",
        i      = 3;
    while (i--)
        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    return Array(+digits.join("") + 1).join("M") + roman;
}

然后你可以这样做:

var currentTime  = new Date();
var strRomanDate = romanize(currentTime.getMonth() + 1) + " . " + 
                   romanize(currentTime.getDate())      + " . " +
                   romanize(currentTime.getFullYear()) + 1; 

关于javascript - 以罗马数字显示日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19342077/

相关文章:

javascript - 如何在 Canvas 上拖动多个形状? [动力学]

php - java脚本对象数组通过ajax(jquery)和json到php

javascript - 对象内部定义的函数没有返回值?

javascript - 如何将右键单击上下文菜单绑定(bind)到右键单击 jQuery

javascript - Angular 中的路由提供者

javascript - <cfmediaplayer> 如何通过 javascript 调用暂停播放器?

javascript - 在 IE 8 中看不到 Twitter Feed

javascript - 如何在 Vuetify 文本字段中上标标签

javascript - AngularJS 中的路由重定向

javascript - 在 angularjs 中实现单个三态复选框的最佳方法是什么?