• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 999
  • Last Modified:

Converting the dateTime datatype to AP style date

How to I convert DateTime - 2008-04-24 00:00:00.000 to AP stype date?
AP stype would be:
Jan,
Feb
March
April
May
June
July
Aug
Sept
Oct
Nov
Dec

Is there any function out there?
Any ideas/thoughts?
Thanks
0
martyje
Asked:
martyje
  • 5
  • 2
  • 2
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
DATENAME(month, yourfield)
0
 
morristhebearCommented:
Using PHP, you could use the function below.

(This will return Jan, Feb, March, ..., Dec; change the M (the first argument for the date function) to match your needs, using these options (http://www.php.net/date)
<?php
	
	function nice_date ($string_date) {
		return date ('M', strtotime ($string_date));
	}
	
?>

Open in new window

0
 
martyjeAuthor Commented:
Sorry, didn't explained it well, that 'll return only the month. I am trying to convert it to the following format
June 23, 2008 etc...
March 04, 2007
Jan 12, 2008

Thanks.
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
this expression will do:

CONVERT(varchar(11), yourfield, 109)

Open in new window

0
 
morristhebearCommented:
My function can be changed easily to display the date in different formats, for the format you requested, use this instead:
<?php
	
	function nice_date ($string_date) {
		return date ('M d, Y', strtotime ($string_date));
	}
	
?>

Open in new window

0
 
martyjeAuthor Commented:
morristhebear: the function works great but, I am trying to get the date format as in the list above.
It should say March not Mar
Any month that has four letters, it should say the whole month or first there letters such as Jan for January.

Thanks.
0
 
morristhebearCommented:
There's no format for that type of date in the PHP manual.  Maybe this will work though, any month with more than 5 letters (i.e January, February, August, September, October, November, December), show the abbreviation, else show the whole month name (i.e - March, April, May, June, July).
<?php
	
	function nice_date ($string_date) {
		if (strlen(date('F', strtotime ($string_date))) > 5) {
			return date ('M d, Y', strtotime ($string_date));
		} else {
			return date ('F d, Y', strtotime ($string_date));
		}
	}
	
?>

Open in new window

0
 
morristhebearCommented:
Actually, I didn't read what you wanted properly.  I've looked at your list of months you provided and come up with this, this should do the months exactly how you want them, haven't tested though...
<?php
	
	function nice_date ($string_date) {
		$ap_dates = array (
			'Jan', 'Feb', 'March', 'April',
			'May', 'June', 'July', 'Aug',
			'Sept', 'Oct', 'Nov', 'Dec'
		);
		return $ap_dates[date('n')-1] . ' ' . date('d') . ', ' . date('Y');
	}
	
?>

Open in new window

0
 
morristhebearCommented:
Forget the above, that will return todays date in the format you requested.  This should be it:
	function nice_date ($string_date) {
		$ap_dates = array (
			'Jan', 'Feb', 'March', 'April',
			'May', 'June', 'July', 'Aug',
			'Sept', 'Oct', 'Nov', 'Dec'
		);
		return $ap_dates[date('n', strtotime($string_date))-1] . ' ' . 
			   date('d', strtotime($string_date)) . ', ' . 
			   date('Y', strtotime($string_date));
	}

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now