如何使用格式化日期,如真实日期字段

时间:2015-02-05 15:48:41

标签: javascript php html json date

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

示例:2015年1月1日

datefield = 2015-01-01

谢谢

3 个答案:

答案 0 :(得分:3)

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

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

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

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

希望它有所帮助。

答案 1 :(得分:0)

希望这会对你有所帮助。

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”

答案 2 :(得分:0)

这是一些丑陋的屁股代码,但它应该有效。使用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;
}