【问题标题】:How to use a formatted date like a real date field [closed]如何使用像真实日期字段这样的格式化日期[关闭]
【发布时间】:2015-02-05 15:48:40
【问题描述】:

我使用旧版软件来管理格式化为字符串的日期,我希望能够像真正的日期一样使用它。

来自

示例:2015 年 1 月 1 日

日期字段 = 2015-01-01

谢谢

【问题讨论】:

  • 那么您是否查看过 PHP 用于操作日期或 DateTime 对象的任何函数?
  • 或类@MarkBaker
  • 你想把它的字符串值解析成一个新的日期(parsedValues)吗?

标签: javascript php html json date


【解决方案1】:

cazares,你可以尝试使用 DateTime 类中的 createFromFormat 方法,看看这个链接:

http://php.net/manual/en/datetime.createfromformat.php

在您的情况下,您可以像这样使用它:

$dateObj = DateTime::createFromFormat("M j, Y", "Jan 1, 2015");

希望对你有帮助。

【讨论】:

  • 你也可以$d = new DateTime($myStringDate);
【解决方案2】:

希望这会对你有所帮助。

http://plnkr.co/edit/aLjEGzrD9rPRCHh2KqC6?p=preview

检查控制台。

var dateString = 'Jan 1, 2015';

var arr = dateString.split(/[ ,]/g);
arr = ["Jan", "1", "", "2015"];
arr.splice(2,1);
console.log(arr[0]);

var monthArr = ['Jan', 'Feb', 'March', 'April', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];
var index = monthArr.indexOf(arr[0]);
var newDate = new Date(arr[2],index,arr[1]);

var result = newDate.getFullYear()+'-'+(newDate.getMonth()+1)+'-'+newDate.getDate();

console.log(result)

//将打印“2015-1-1”

【讨论】:

    【解决方案3】:

    这是一些丑陋的代码,但它应该可以工作。使用 switch-case 将月份从字符串更改为实际日期。我仍然不确定您是否希望将日期作为 javascript 中的日期对象或作为新格式的新字符串。但是,一旦实现代码,更改应该不是什么大问题。编码愉快。

    var somedate = "Dec 1, 2015";
    console.log(convert(somedate));
    
    function convert(theString) {
    
      var res = theString.split(/,| /);
      var month = res[0];
      var day = res[1];
      var year = 0;
      if (res[2].length == 4) {
        year = res[2]
      } else {
        year = res[3];
      }
    
      var convMonth = monthConverter(month);
      var newDate = year + "-" + convMonth + "-" + day;
    
      return newDate;
    }
    
    function monthConverter(converterMonth) {
      switch (converterMonth) {
        case 'Jan':
          converterMonth = 1
          break;
        case 'Feb':
          converterMonth = 2
          break;
        case 'Mar':
          converterMonth = 3
          break;
        case 'Apr':
          converterMonth = 4
          break;
        case 'May':
          converterMonth = 5
          break;
        case 'Jun':
          converterMonth = 6
          break;
        case 'Jul':
          converterMonth = 7
          break;
        case 'Aug':
          converterMonth = 8
          break;
        case 'Sep':
          converterMonth = 9
          break;
        case 'Oct':
          converterMonth = 10
          break;
        case 'Nov':
          converterMonth = 11
          break;
        case 'Dec':
          converterMonth = 12
          break;
        default:
          converterMonth = 1
          break;
      }
    
      return converterMonth;
    }

    【讨论】:

      猜你喜欢
      • 2016-10-27
      • 2012-02-07
      • 2013-01-29
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      相关资源
      最近更新 更多