【问题标题】:Replace string (3-11-2012) with other date format (3 november 2012)将字符串 (3-11-2012) 替换为其他日期格式(2012 年 11 月 3 日)
【发布时间】:2016-11-19 22:46:30
【问题描述】:

我有诸如“11-1-2012”之类的文本字符串,我希望将其转换为“2012 年 1 月 11 日”之类的日期字符串。我该怎么做呢?我搜索但找不到我需要的确切内容。日期(月份名称)需要使用荷兰语。我尝试使用 datepicker 做类似的事情

$(".txtToDate").datepicker.parseDate( "d MM yy", "1 november 2001" );

但这不起作用。我更喜欢 JavaScript 或 jQuery...

谢谢!!

【问题讨论】:

    标签: javascript jquery date jquery-ui


    【解决方案1】:

    有很多方法可以解决这个问题。

    这是每个月的最终解决方案。希望对你有帮助:)

    var elements = document.getElementsByClassName("txtToDate");
    for (var i = 0; i < elements.length; i++) {
      var userMonth = elements[i].innerHTML;
      var updatedText =  myFunction(userMonth);
      elements[i].innerHTML = updatedText;
    }
    
    function myFunction(str){
    
    var currentMonth = '';
    var months = ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"];
    
    var arr = str.split("-");
    var num = arr[1];
    
    currentMonth = (num.startsWith("0")) ? num.slice(1) : num;
    customizedMonth = months[currentMonth - 1];
    var text = arr[0] + " " + customizedMonth  + " " + arr[2];
    
    return text;
    }
    <div class = "txtToDate">11-01-2012</div>
    <div class = "txtToDate">11-02-2012</div>
    <div class = "txtToDate">11-03-2012</div>
    <div class = "txtToDate">11-04-2012</div>
    <div class = "txtToDate">11-05-2012</div>
    <div class = "txtToDate">11-06-2012</div>
    <div class = "txtToDate">11-07-2012</div>
    <div class = "txtToDate">11-08-2012</div>
    <div class = "txtToDate">11-09-2012</div>
    <div class = "txtToDate">11-10-2012</div>
    <div class = "txtToDate">11-11-2012</div>
    <div class = "txtToDate">11-12-2012</div>

    【讨论】:

    • tnx 亨利。你认为我可以用一个类替换 var str 吗?像:(.txtToDate)?我需要用您的解决方案替换 div.txtToDate 标记中的每个实例。这不是当前日期...
    • @KestonPollard 我想我搞定了。你在吗?
    • 是的,我在这里。似乎 10 月、11 月和 12 月不起作用。 (10,11,12)
    【解决方案2】:

    试试这个简单的解决方案:

    function returnCorrectDate(inputDate) {
    
      var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
      var arrayDate = inputDate.split("-");
    
      return arrayDate[0] + " " + months[parseInt(arrayDate[1]) - 1] + " " + arrayDate[2];
    
    }

    【讨论】:

      【解决方案3】:

      您可以为月份名称和替换使用一个对象。

      var elements = document.getElementsByClassName("txtToDate");
      
      Array.prototype.forEach.call(elements, function(item) {
          var date = item.innerHTML.split('-');
          date[1] = date[1].replace(/\d{2}/, function (month) { 
              return { '01': 'januari', '02': 'februari', '03': 'maart', '04': 'april', '05': 'mei', '06': 'juni', '07': 'juli', '08': 'augustus', '09': 'september', '10': 'oktober', '11': 'november', '12': 'december' }[month];
          });
          item.innerHTML = date.join(' ');
      });
      <div class="txtToDate">11-01-2012</div>
      <div class="txtToDate">11-02-2012</div>
      <div class="txtToDate">11-03-2012</div>
      <div class="txtToDate">11-04-2012</div>
      <div class="txtToDate">11-05-2012</div>
      <div class="txtToDate">11-06-2012</div>
      <div class="txtToDate">11-07-2012</div>
      <div class="txtToDate">11-08-2012</div>
      <div class="txtToDate">11-09-2012</div>
      <div class="txtToDate">11-10-2012</div>
      <div class="txtToDate">11-11-2012</div>
      <div class="txtToDate">11-12-2012</div>

      【讨论】:

      • Tnx,我试过这个(因为我需要读取每个带有 .txtToDate 类的 div 的值。'var string = $(".txtToDate"); console.log(string.replace(/ -(\d{2})-/, function (a, b) { return ' ' + { '10': 'oktober','11': 'november' }[b] + ' '; })); ' 但这会出错
      【解决方案4】:

      你可以这样做:

      var dateArr = '11-01-2012'.split('-');
      var month;
      switch(dataArr[1]){
         case '01':
            month = 'januari';
            break;
        //other cases
      }
      var dateStr = dateArr[0] + month + dateArr[2];
      return dateStr;
      

      【讨论】:

        猜你喜欢
        • 2013-02-24
        • 2011-05-11
        • 1970-01-01
        • 1970-01-01
        • 2014-10-20
        • 1970-01-01
        • 2021-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多