#javascript
#javascript
Вопрос:
Я использую var dateString= new Date(parseInt(dateStringUnix));
и получаю строку как Sun Jun 10 2012 16:40:16 GMT 0200 (ora legale Europa occidentale)
.
Вопрос в том, как я могу удалить строковую часть GMT 0200 (ora legale Europa occidentale)
?
Ответ №1:
Вот так:
dateString = dateString.toString().replace(/ GMT.*/,"");
Приведенное выше просто заменяет пробел до GMT
и все после GMT
включения GMT
на empyt String
.
Я использовал .toString()
для преобразования Object
String
, чтобы это .replace()
можно было использовать.
Комментарии:
1. Вам действительно понадобится
dateString.toString().replace
, потому что даже если в OP указана строка, это все равно aDate
.
Ответ №2:
Выберите простую, но мощную библиотеку, такую как moment.js . Может и не понадобиться, если это небольшая функциональность в вашем проекте, но в конечном итоге это швейцарский армейский нож для даты и связанных с ней вещей
Ответ №3:
Это мой текущий фаворит, потому что он одновременно гибкий и модульный. Это набор (как минимум) из трех простых функций:
/**
* Returns an array with date / time information
* Starts with year at index 0 up to index 6 for milliseconds
*
* @param {Date} date date object. If falsy, will take current time.
* @returns {[]}
*/
getDateArray = function(date) {
date = date || new Date();
return [
date.getFullYear(),
exports.pad(date.getMonth() 1, 2),
exports.pad(date.getDate(), 2),
exports.pad(date.getHours(), 2),
exports.pad(date.getMinutes(), 2),
exports.pad(date.getSeconds(), 2),
exports.pad(date.getMilliseconds(), 2)
];
};
Вот функция pad:
/**
* Pad a number with n digits
*
* @param {number} number number to pad
* @param {number} digits number of total digits
* @returns {string}
*/
exports.pad = function pad(number, digits) {
return new Array(Math.max(digits - String(number).length 1, 0)).join(0) number;
};
Наконец, я могу либо создать свою строку даты вручную, либо использовать простые функции, чтобы сделать это за меня:
/**
* Returns nicely formatted date-time
* @example 2015-02-10 16:01:12
*
* @param {object} date
* @returns {string}
*/
exports.niceDate = function(date) {
var d = exports.getDateArray(date);
return d[0] '-' d[1] '-' d[2] ' ' d[3] ':' d[4] ':' d[5];
};
/**
* Returns a formatted date-time, optimized for machines
* @example 2015-02-10_16-00-08
*
* @param {object} date
* @returns {string}
*/
exports.roboDate = function(date) {
var d = exports.getDateArray(date);
return d[0] '-' d[1] '-' d[2] '_' d[3] '-' d[4] '-' d[5];
};