【问题标题】:javaScript, jQuery - how to convert a timestamp to a date format like Jan 2, or Jan 26?javaScript,jQuery - 如何将时间戳转换为日期格式,如 Jan 2 或 Jan 26?
【发布时间】:2011-02-07 02:15:16
【问题描述】:

给定一个字符串,如:

Sun Feb 06 2011 12:49:55 GMT-0800 (PST)

如何将其转换为:

Feb 6

和/或

Sun Jan 26 2011 12:49:55 GMT-0800 (PST)
to: Jan 26

有什么想法吗?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    这里没有任何内置的格式化函数可以使用,你只需要使用 Date 方法来构建字符串:

    var months = [
        'Jan', 'Feb', 'Mar', 'Apr',
        'May', 'Jun', 'Jul', 'Aug',
        'Sept', 'Oct', 'Nov', 'Dec'
    ];
    
    var d = new Date();
    // Or,
    var d = new Date('Sun Feb 06 2011 12:49:55 GMT-0800 (PST)');
    
    alert(months[d.getMonth()] + ' ' + d.getDate());
    

    或者,如果该字符串将始终保持该格式,您可以简单地提取相关部分,而无需先将其转换为日期对象:

    var str = 'Sun Feb 06 2011 12:49:55 GMT-0800 (PST)';
    var components = str.split(' ').slice(1, 3);
    components[1].replace(/^0/, '');
    alert(components.join(' '));
    

    【讨论】:

      【解决方案2】:

      我认为this question 可以帮到你。

      strptime 是一个非常有用的 POSIX 函数,用于解释人类可读的日期。

      除此之外,我很确定 Date 对象可以解析人类可读的日期:

      var myDate = new Date(dateString);
      var tm = {
          tm_sec:  myDate.getSeconds(),
          tm_min:  myDate.getMinutes(),
          tm_hour: myDate.getHours(),
          tm_mday: myDate.getDate(),
          tm_mon:  myDate.getMonth(),
          tm_year: myDate.getFullYear().toString().substring(2),
          tm_wday: myDate.getDay()
      };
      

      【讨论】:

        【解决方案3】:

        可以换一种方式

        var text = 'Sun Feb 06 2011 12:49:55 GMT-0800 (PST)';
        
        var pat=/\w{3}\s\d{2}/;
        text = text.substring(4);
        text = text.match(pat);
        
        alert(text);
        
        //output: Feb 06
        

        【讨论】:

          猜你喜欢
          • 2020-05-12
          • 1970-01-01
          • 2023-02-22
          • 1970-01-01
          • 2021-02-17
          • 1970-01-01
          • 1970-01-01
          • 2011-03-05
          • 2011-01-04
          相关资源
          最近更新 更多